ホームページ >php教程 >php手册 >PHP 警告「スカラー値を配列として使用できない」に対する解決策

PHP 警告「スカラー値を配列として使用できない」に対する解決策

WBOY
WBOYオリジナル
2016-06-13 12:02:301292ブラウズ

PHP エラー ログに次のようなプロンプトがいくつかありました:

[27-Aug-2011 22:26:12] PHP 警告: /www/hx/enjoy.php ではスカラー値を配列として使用できません14 行目
[27-Aug-2011 22:26:18] PHP 警告: /www/hx/enjoy.php の 14 行目

ソース プログラムを確認してください。おそらく次のようになります:

コードをコピー コードは次のとおりです:


$arr_hx = $mem->get( ' hx');
if(!$arr_hx) {
$arr_hx['a'] = 'b';
$mem->set('hx',$arr_hx); > }

基本的には $mem->get が値を取得できなかった場合に false を返しますが、このとき $arr_hx はブール値である false として使用されます。配列の結果、次のプロンプトが生成されました。実際には、変数が定義されていない場合もあり、代入の前に $arr_hx = array() を追加すると問題が解決されます。

確認すると以下の説明があります:
引用
注意が必要なのは型変換です:
変数名 (a など) が非変数名として定義されている場合-配列型 (整数など) の場合、 a は浮動小数点、文字列 (またはオブジェクト型) に変換できますが、配列にすることはできません。つまり、a[0]=1 は間違っており、PHP はそのようなものを発行します。 「スカラー値を配列として使用できません」という警告が表示されます。 a を 1 次元配列として定義しても、高次元配列に変換することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。