[PHP-users 13501] Re: for などのループの中に ifを入れる事は可能なのでしょうか?(解決)

php php-users@php.gr.jp
Fri, 21 Feb 2003 19:25:41 +0900


しょうなりさんが書いて下さったものは、まだ自分で消化することができなかった
ので、みなさんに教えて頂いた方法を参考に自分で書いた所、動くようになりました。
ありがとうございます。

しかし、この場合その月の終わりに更新しないととんでもない事になります。
なので、例えば$d[01]となっているところを$d[20030201]のようにして、
for文の中のものを、
print("$d[$i]<br>\n");から、
print("$d[$年号 . $月 . $i]<br>\n");
のように今後変更するとおそらく完璧に動作するとおもわれます。
また、しょうなりさんがおっしゃるように日時や、曜日もいちいち入力しなくても
自動的に入れるように変更してから使用しようと思います。

<?php
$d[1] = "1";
$d[2] = "";
$d[3] = "";
$d[4] = "";
$d[5] = "";
$d[6] = "";
$d[7] = "";
$d[8] = "";
$d[9] = "";
$d[10] = "";
$d[11] = "";
$d[12] = "";
$d[13] = "";
$d[14] = "";
$d[15] = "";
$d[16] = "16";
$d[17] = "";
$d[18] = "";
$d[19] = "19にち";
$d[20] = "20";
$d[21] = "21";
$d[22] = "";
$d[23] = "";
$d[24] = "";
$d[25] = "";
$d[26] = "";
$d[27] = "";
$d[28] = "";
$d[29] = "";
$d[30] = "";
$d[31] = "";

$today = date ("j");
$month = date("t");
$loop = $today-1;
$loopone = $month+1 ;
$looptwo = $today+1;
if ($today != "1"){
    for($i=1; $i < $loop; $i++)
        {
        if($d[$i] != ""){
            print("$d[$i]<br>\n");
        }
}
if ( $d[$today] !=""){
print ("<b>$d[$today]</b><br>\n");}

for($i=$looptwo; $i < $loopone; $i++){
    if($d[$i] != ""){
            print("$d[$i]<br>\n");
    }
}}
?>