首頁  >  文章  >  後端開發  >  scalar PHP警告Cannot use a scalar value as an array的解決方法

scalar PHP警告Cannot use a scalar value as an array的解決方法

WBOY
WBOY原創
2016-07-29 08:47:391295瀏覽

看到php的錯誤日誌裡有些這樣的提示:
[27-Aug-2011 22:26:12] PHP Warning: Cannot use a scalar value as an array in /www/hx/enjoy.php on line 14
[ 27-Aug-2011 22:26:18] PHP Warning: Cannot use a scalar value as an array in /www/hx/enjoy.php on line 14
檢查源程序,大概是下面這樣子:
程式碼

程式碼如下:$arr_hx = $mem->get('hx');

if(!$arr_hx) {

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


基本上明白了,在$mem->get沒有得到值時回傳的是false,此時$arr_hx是false,布林值,然後又把它當成數組用了,導致產生了這樣的提示。其實也是變數沒定義的情況,在賦值前加一句 $arr_hx = array() 解決問題。

查了一下,有如下的說明:
引用
需要注意的是類型的轉換:
如果一個變數名稱(如a)已經被定義為非陣列類型,例如integer,那麼a可以被轉為floating point、 string(甚至是object型別),但不可以是數組,即a[0]=1;是錯誤的,php會報出這樣的警告「Cannot use a scalar value as an array」。即使a被定義為一維數組,也不能轉為高維數組。

以上就介紹了scalar PHP警告Cannot use a scalar value as an array的解決方法,包括了scalar方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn