- ベストアンサー
このスクリプトのエラー原因は何でしょうか
2chビューワーを作っている初心者です。 レスを表示する所がどう改善しても表示されません。 現在のスクリプトを書きます。 for( $i = 0, $n = 1; $n == $b; $i++, $n++ ){ echo "<dt>".$n." :<font color=green><b>".$name[$i]."</b></font>:".$date[$i]."<dd>".$in[$i]."<br><br>\n"; } nameは名前欄の配列、dateは時間、IDの配列、inは内容、$bはレス数です。 どうか教えていただけないでしょうか。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
forでもいいですがforeachの方がわかりやすいかも <?PHP $name=array("name1","name2","name3","name4"); $date=array("date1","date2","date3","date4"); $in=array("in1","in2","in3","in4"); //forの例 $b=count($name); for( $i = 0, $n = 1; $n <= $b; $i++, $n++ ){ echo "<dt>".$n." :<font color=green><b>".$name[$i]."</b></font>:".$date[$i]."<dd>".$in[$i]."<br><br>\n"; } print "<hr>"; //foreachの例 $n=1; foreach( $name as $key=>$val){ echo "<dt>".$n++." :<font color=green><b>".$val."</b></font>:".$date[$key]."<dd>".$in[$key]."<br><br>\n"; }
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
RTFM. http://www.php.net/manual/ja/control-structures.for.php ----- 引用ここから 最初の式(式1)は、ループ開始時に無条件に 評価(実行)されます。 各繰り返しの開始時に、式2が評価されます。 その式の値がTRUEが場合、ループは継続され、括弧 内の文が実行されます。値がFALSEの場合、ループの 実行は終了します。 各繰り返しの後、式3が評価(実行)されます。 ----- 引用ここまで 最初のチェック時に式2($n == $b)はfalseですよね(汗
お礼
第二引数の条件が満たされた時に処理が終了すると間違って覚えてました・・・ ご回答ありがとうございます!
- kosukejlampnet
- ベストアンサー率44% (126/282)
for( $i = 0, $n = 1; $n == $b; $i++, $n++ ){ ↓ for( $i = 0, $n = 1; $n <= $b; $i++, $n++ ){ じゃないの?
お礼
成る程・・・for文自体をよくわかって居なかったようです。 回答ありがとうございした!
お礼
Foreachでも可能••• keyを使うことを思いつきませんでした! 勉強になりました。