• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列が受け取れないのはなぜなのでしょうか?)

配列が受け取れない理由とは?

このQ&Aのポイント
  • 配列を受け取れない理由について教えてください。
  • 配列をforeachで受け渡そうとしてもうまくいかない理由を知りたいです。
  • 日付を配列として渡すことができないのはなぜでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sgcarrot
  • ベストアンサー率68% (17/25)
回答No.1

配列内に値があるかどうかの判定はin_array()関数が便利です。 $day = 1; //以下を変更 $data = array( "200810005", "200810010", "20081011", "20081015", "20081025", "20081030" ); while( checkdate( $today[mon], $day, $today[year] ) ){ $link = sprintf( "%4d%02d%02d", $today[year], $today[mon], $day ); if( in_array ( $link , $data ) ) { echo "<td><a href=?date=$link\">$day</a></td>\n"; }else{ echo "<td>$day</td>\n"; } if( $f_today[wday] == 6) echo "</tr><tr>"; $day++; $f_today[wday]++; $f_today[wday] = $f_today[wday] % 7; }

参考URL:
http://jp.php.net/in_array
minoru4891
質問者

補足

sgcarrot様。 有難うございます。 sgcarrot様のお知恵を借りてなんとかできました。 目の前が明るくなりました。 in_array()関数なるものを始めて知りました。 大変便利な関数があったのですね。勉強不足でした。 このことに関連してもう1つアドバイスを頂きたいのですが、 $data = array( "200810005", "200810010", "20081011", "20081015", "20081025", "20081030" ); この配列はDBからselect文にて、while ( $col = mysql_fetch_array( $rst ) ) { $data = ・・・}で取得した配列でも同じ判定が可能なのでしょうか? 試したところ$data = array(・・・・);のようにはいきませんでした。 記述ミスなのでしょうか?それとも他のやり方があるのでしょうか? お手数ではございますが、アドバイスをお願い致します。 宜しくお願いします。

その他の回答 (2)

  • sgcarrot
  • ベストアンサー率68% (17/25)
回答No.3

わたし程度の知識だと、まだまだだと思いますが・・・(^^; >参考になさっている書籍やサイト んー、特に無いです。しいていればGoogle。(^^; >やはり、phpマニュアルの熟読と理解(+豊富な経験)に尽きるのでしょうか? マニュアルを読むのも大切ですが、一番良いのは、今のminoru4891さんみたいに、 間違っても良いからどんどん書いてみることだと思います。 動かないところを解決していく間に自然に身に付きます。

minoru4891
質問者

お礼

sgcarrot様。有難うございます。 とても、励みになりました。 頑張ります。 また、何処かで当方の質問を見かけたらお願いします。 有難うございました。

  • sgcarrot
  • ベストアンサー率68% (17/25)
回答No.2

$data = array(); while ( $col = mysql_fetch_array( $rst ) ) { $data[] = ・・・} としてみて下さい。

minoru4891
質問者

お礼

スゴイ!!できました!!! sgcarrot様、有難うございます。 ここ1週間ほどずっと考え込んでいたところ、大変助かりました。 配列って奥が深いですね。本当に有難うございました。 後学のために、知っておきたいのですが、sgcarrot様がphp関連で参考になさっている書籍やサイトなどがあれば、教えて頂きたいのですが。 やはり、phpマニュアルの熟読と理解(+豊富な経験)に尽きるのでしょうか? 宜しくお願いします。

関連するQ&A