私は結果ができない非常にイライラの問題があります。ちょうどそれが合わない。php array()foreachは使用している場合にのみループします。=結果を構築するには
私はそうのような)foreachの(上で処理するように配列を渡しています:
if (is_array($seminar)) {
foreach ($seminar as $sem_id)
$sem_id_list .= "$sem_id";
echo "$sem_id<br />";
}
をあなたが(私の配列を見ることができるように)$セミナーで、その出力はそうのようになります。
Array
(
[0] => 3
[1] => 8
[2] => 9
[3] => 13
[4] => 14
[5] => 15
)
私のコードでわかるように、私は=のブロックを構築しています。は次のようになります:* $ sem_id_list。= "$ sem_id"; *とエコーアウトされる時間は389131415です。
しかし、私は単純に繰り返して、各値を表示しようとしています:* echo "$ sem_id
"; *最後の配列()項目しか取得しません!!
これまでにこの問題に遭遇したことはありません。私はここでシンプルなものを見逃していると思っていますが、私の経験から、これはうまくいくはずです。
サイドノートとして、var_dump($ seminar);これはあまりにも生成します。あなたはforeach
の開きブレースと閉じ括弧が欠落している
array(6) { [0]=> string(1) "3" [1]=> string(1) "8" [2]=> string(1) "9" [3]=> string(2) "13" [4]=> string(2) "14" [5]=> string(2) "15" }
OPが自分のコードを適切にインデントしていれば、これはかなり明らかでした。 –
うん、それだった。私はそれを逃したとは信じられない!私は目の新しいセットがもっとたくさん見ることができると思う。 – OldWest
OPのコードはまだ技術的に有効であり、彼がやりたいことではないことに注意してください。新しい行+インデントは大括弧やコロンを避ける方法ですが、次の行だけがブロック内で実行されます。なぜなら、 '$ sem_id'がグローバル変数になり、次の行だけが最後の項目を出力するからです。最後の反復。もう一つの答えはこれを説明しようとしています。 –