酢だこのネット人生

マークアップエンジニアの酢だこの日記。ネットで気になったことと、日常。たまに勉強。

PHPで閏年を確認するやつ

ごきげんよう、酢だこです。
レビューがずたぼろで笑った。
会社に落ちてたこれを使用してPHPをいじっております。

PHP 1 はじめてのPHPプログラミング (CD-ROM付) (プログラミング学習シリーズ)

PHP 1 はじめてのPHPプログラミング (CD-ROM付) (プログラミング学習シリーズ)

 

練習問題を見て、わけわからんところは戻る&検索って方法でやってます。
2章から5-3までするっと来たのでいけると思いきや
6-1でめっちゃつまってる……

まず閏年かどうかを確認するif文作って
それをキーごとに書いたけどこれループじゃん、ってなって
どのループ使うのか?ってところです。
forとwhileの違いがちゃんとわからない~~

普段使ってるhtmlとかcssでもそうだけど、こういう時はこれを使う、っていう
実務的な使い分けっていっぱいあって
たぶんそれを身につけることが勉強なんだろうなって気がします。
表示だけならループさせなくても間違いじゃないしな。
でも、後から数が増えたりした時に不便なので、できるだけわかりやすくきれいなコードを書いていきたいと思うのでした。
他の人に見られた時にかっこ悪くないように、っていうところでうまく折り合いを付けたい。

ちなみに試行錯誤しながら書いてるドチャクソかっこ悪いソース*1これ。がんばりましょう


//配列$aを定義
$a = array(2000,2001,2002,2003,2004,2005);

//確認
print_r ($a);

// if文でがんばった履歴
//[0]に対して確認(以下~[5]まで繰り返し)
echo $a[0];
if ( $a[0] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[0] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[0] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}


echo $a[1];
if ( $a[1] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[1] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[1] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

echo $a[2];
if ( $a[2] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[2] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[2] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

echo $a[3];
if ( $a[3] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[3] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[3] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

echo $a[4];
if ( $a[4] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[4] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[4] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

echo $a[5];
if ( $a[5] % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a[5] % 100 != 0 )  {echo "閏年です";
} elseif ( $a[5] % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}



// 以下閏年のプログラム組んだ試行錯誤
$a = 1 ; //閏年ではない 4で割り切れない

echo $a;

if ( $a % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a % 100 != 0 )  {echo "閏年です";
} elseif ( $a % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

$a = 4 ; //閏年です 4で割り切れるが、100で割り切れない

echo $a;

if ( $a % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a % 100 != 0 )  {echo "閏年です";
} elseif ( $a % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

$a = 100 ; //閏年ではない 4で割り切れる、100で割り切れる、400で割り切れない

echo $a;

if ( $a % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a % 100 != 0 )  {echo "閏年です";
} elseif ( $a % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

$a = 400 ;//閏年です 4で割り切れる、100で割り切れる、400で割り切れる"

echo $a;

if ( $a % 4 != 0 ) { echo "閏年ではない";
} elseif ( $a % 100 != 0 )  {echo "閏年です";
} elseif ( $a % 400 != 0) {echo "閏年ではない";
}else { echo "閏年です";
}

追記:ちゃんとforeachに行き着きました。

*1:ソースコード貼り付けるの難しい。合っているのだろうか

酢だこの説明

学生時代にはてなダイアリーを少しやっていたけれど、記法もすっかり忘れてしまった。
社会人になりTwitterを始めたら長文を書かなくなってしまい、
このままだと書けなくなりそうだったのでもう一度始めることにしました。

PHPを勉強中のマークアップエンジニアです。
カタカナの職種と言ってもはてなにいるようなすごい技術者というわけでなく
htmlとCSSがなんとなく書けて、adobeが若干使えるぐらいの薄く広くって感じです。
オタクなのでさわってる期間だけは長い。

趣味は同人、鉄道、観劇、ニコリのペンパ
アイドルは今はハロプロが熱い。でもだいたい在宅で接触はあまり行かないです。

こんな感じだろうか……
何かあれば追記します。よろしくどうぞ。