【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

foreach文を使って表示させる時に、通し番号も一緒につけたいのですが方法がわかりません。

$msgをaaa,bbb,ccc,ddd,eeeとした時、

$msg_array = explode(",", $msg);//カンマ区切りでばらす
foreach($msg_array as $message){
$comment = "コメント★【" .$message. "】<br>";
}

echo "コメント一覧<br>" .$comment. "<br>ここまで\n";

という感じで書いてみましたが、★の部分に通し番号をつけて、

コメント一覧
コメント0【aaa】
コメント1【bbb】
コメント2【bbb】
 (以下指定した数の分だけリピート)
ここまで

のように表示させたいのです。
$msgに渡した要素の数だけリピートされますが、通し番号も合わせて表示できないでしょうか?
○回分だけリピートする、という指定用に変数を増やしても構いません。

PHPはあまり詳しくなく、サンプルを少しずつ修正して使っている程度です(>_<)
よろしくお願いします。

A 回答 (2件)

書き方はいろいろありますね。


$i = 0;
foreach($msg_array as $message){
$comment = "コメント" . $i ."【" .$message. "】<br>";
$i ++;
}

もしくは、foreachにこだわらないのであれば

for($i = 0; $i < count($msg_array); $i++){
$comment = "コメント" . $i ."【" .$msg_array[$i]. "】<br>";
}
    • good
    • 0
この回答へのお礼

2通り教えていただいて有難うございます。
for文でも可能だったんですね。今後の参考にします!

お礼日時:2009/02/20 21:58

foreach ($msg_array as $key => $message) {



echo $key; // 0から番号
echo ($key + 1); // 1からの番号

}
    • good
    • 0
この回答へのお礼

1から始めたい時の方法も知ることができて嬉しいです^^
ほんとうに有難うございました!

お礼日時:2009/02/20 21:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報