こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

このスクリプトのエラー原因は何でしょうか

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はレス数です。
どうか教えていただけないでしょうか。
宜しくお願いします。

投稿日時 - 2012-07-25 18:05:29

QNo.7610186

暇なときに回答ください

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

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";
}

投稿日時 - 2012-07-25 19:16:02

お礼

Foreachでも可能•••
keyを使うことを思いつきませんでした!
勉強になりました。

投稿日時 - 2012-07-26 13:30:03

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

RTFM.
http://www.php.net/manual/ja/control-structures.for.php

----- 引用ここから
最初の式(式1)は、ループ開始時に無条件に 評価(実行)されます。

各繰り返しの開始時に、式2が評価されます。 その式の値がTRUEが場合、ループは継続され、括弧 内の文が実行されます。値がFALSEの場合、ループの 実行は終了します。

各繰り返しの後、式3が評価(実行)されます。
----- 引用ここまで

最初のチェック時に式2($n == $b)はfalseですよね(汗

投稿日時 - 2012-07-25 18:57:24

お礼

第二引数の条件が満たされた時に処理が終了すると間違って覚えてました・・・
ご回答ありがとうございます!

投稿日時 - 2012-07-26 13:27:54

for( $i = 0, $n = 1; $n == $b; $i++, $n++ ){

for( $i = 0, $n = 1; $n <= $b; $i++, $n++ ){

じゃないの?

投稿日時 - 2012-07-25 18:37:45

お礼

成る程・・・for文自体をよくわかって居なかったようです。
回答ありがとうございした!

投稿日時 - 2012-07-26 13:25:39

あなたにオススメの質問