[PHP-users 28578] スカラー変数と配列の扱いについて

yuki yamashina uk_oasis @ hotmail.com
2006年 2月 24日 (金) 20:24:52 JST


こんにちは

今、オライリーの「初めてのPHP5」で勉強をしているのですが
スカラー変数に値を代入した後、変数名が同じ配列に値を代入して
結果を表示させようとしたところWarningがでてしまいます。
逆にすると特にエラー無く正常に表示されます。
これは、PHPの仕様なのでしょうか?
どなたかわかる方教えてください。

環境
Mac OSX 10.4
PHP5.1.1

ソース
//これは$vegetablesを配列にする
$vegetables['corn'] = 'yellow';
print_r($vegetables);
print("<BR />");

//"corn"と"yellow"の関連を削除して$vegetablesをスカラーにする
$vegetables = 'delisious';
print_r($vegetables);
print("<BR />");

//これは、$fruitsをスカラーにします
$fruits = 283;
print_r($fruits);
print("<BR />");

//これは、$fruitsを配列にして、前のスカラー値を消去する
$fruits['potassium'] = 'banana';
print_r($fruits);
print("<BR />");

結果
Array ( [corn] => yellow )
delisious
283
Warning: Cannot use a scalar value as an array in 
/Users/oasis/php_study/php_source_root/chap4/ex4-3.php on line 33
283




PHP-users メーリングリストの案内