好きな和訳タイトルを教えてください

$fruits = array(
array(
"name" => "apple",
"color" => "red",
...
),
array(
"name" => "banana",
"color" => "yellow",
...
),
...
);

foreach ($fruits as $fruit) {
echo "名前:$fruit['name']<br \/>";
echo "色:$fruit['color']<br \/>";
...
}

で、

名前:apple
色:red
...

のように表示させたいのですが、きちんと動きません。
どこが間違っているのでしょうか。

よろしくお願いします。

A 回答 (4件)

$fruits = array(


array(
"name" => "apple",
"color" => "red"
),
array(
"name" => "banana",
"color" => "yellow"
)

);

foreach ($fruits as $fruit) {

//print_r ($fruit);
echo "名前:$fruit[name]<br \/>";
echo "色:$fruit[color]<br \/>";
}

これでうまくいくと思います^^
原因はこれです。

○ echo "色:$fruit[color]<br \/>";
× echo "色:$fruit['color']<br \/>";
    • good
    • 0

こんなかんじでどうでしょう



<?PHP
$fruits = array(
array(
"name" => "apple"
,"color" => "red"
)
,array(
"name" => "banana"
,"color" => "yellow"
)
);
if(is_array($fruits))
foreach($fruits as $fruit){
echo "名前:{$fruit['name']}<br \/>";
echo "色:{$fruit['color']}<br \/>";
}

この回答への補足

ifブロックの内側まで実行されるのですが、やはり同じエラーが出ます。

補足日時:2007/08/05 13:27
    • good
    • 0
この回答へのお礼

と、思ったら間違いでした(違うファイルを編集していた)。
もう一度確認してみます。

お礼日時:2007/08/05 13:31

Invalid argument supplied for foreach()


と出ているのであれば、foreach()に配列以外の変数を渡している可能性があります。
foreach ($fruits as $fruit) の $fruitsは本当に配列になっていますか?
foreachの直前で

print_r($fruits);

等して、$fruits の中身を確認してください。
    • good
    • 0

> echo "名前:$fruit['name']<br \/>";


> echo "色:$fruit['color']<br \/>";

echo "名前:$fruit[name]<br />";
echo "色:$fruit[color]<br />";

としてみてはいかがでしょうか。

この回答への補足

クォーテーションとエスケープ文字を省きましたが、
同じエラーが出続け、原因は他の場所にもあるようです。

書き忘れていましたが、エラーメッセージでは、
Invalid argument supplied for foreach()
とのことですが。

補足日時:2007/08/05 01:12
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

お礼日時:2007/08/05 01:13

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


おすすめ情報