php下關(guān)于Cannot use a scalar value as an array的解決辦法
更新時(shí)間:2010年08月08日 12:04:48 作者:
已經(jīng)定義過的一個(gè)布爾型變量在下面被我直接當(dāng)數(shù)組來調(diào)用了,所以就出現(xiàn)錯(cuò)誤了
今天在測試php程序的時(shí)候,出現(xiàn)了一個(gè)錯(cuò)誤提示:Cannot use a scalar value as an array,這個(gè)錯(cuò)誤提示前幾天也出過,當(dāng)時(shí)好像稍微調(diào)了一下就好了,也沒深究,今天卻又出現(xiàn)了。
不能再糊弄了,得找出原因和解決辦法,于是我就去網(wǎng)上搜啊找啊,找了很久都沒找到結(jié)果,不是網(wǎng)上搜不到這樣的問題,而是很少有人做正面的準(zhǔn)確的回答。最后這篇文章的一段文字讓我一下子弄明白了怎么回事。
—————————————-
需要注意的是類型的轉(zhuǎn)換:
如果一個(gè)變量名(如a)已經(jīng)被定義為非數(shù)組類型,例如integer,那么a可以被轉(zhuǎn)為floating point、string(甚至是object類型),但不可以是數(shù)組,即a[0]=1;是錯(cuò)誤的,php會(huì)報(bào)出這樣的警告“Cannot use a scalar value as an array“。即使a被定義為一維數(shù)組,也不能轉(zhuǎn)為高維數(shù)組。
—————————————-
下面是別的網(wǎng)友發(fā)現(xiàn)的問題的解決方法:
看到這句話之后,我仔細(xì)檢查了一下代碼,發(fā)現(xiàn)我上面已經(jīng)定義過的一個(gè)布爾型變量在下面被我直接當(dāng)數(shù)組來調(diào)用了,所以就出現(xiàn)錯(cuò)誤了。
如果已經(jīng)定義了一個(gè)非數(shù)組元素并賦值,再把它當(dāng)數(shù)組來用就會(huì)出現(xiàn)Cannot use a scalar value as an array的錯(cuò)誤
如: var $i=1000;
$i[5]=345; // 此時(shí)會(huì)出錯(cuò),
所以大家要放棄這個(gè)不規(guī)范的寫代碼方式。
不能再糊弄了,得找出原因和解決辦法,于是我就去網(wǎng)上搜啊找啊,找了很久都沒找到結(jié)果,不是網(wǎng)上搜不到這樣的問題,而是很少有人做正面的準(zhǔn)確的回答。最后這篇文章的一段文字讓我一下子弄明白了怎么回事。
—————————————-
需要注意的是類型的轉(zhuǎn)換:
如果一個(gè)變量名(如a)已經(jīng)被定義為非數(shù)組類型,例如integer,那么a可以被轉(zhuǎn)為floating point、string(甚至是object類型),但不可以是數(shù)組,即a[0]=1;是錯(cuò)誤的,php會(huì)報(bào)出這樣的警告“Cannot use a scalar value as an array“。即使a被定義為一維數(shù)組,也不能轉(zhuǎn)為高維數(shù)組。
—————————————-
下面是別的網(wǎng)友發(fā)現(xiàn)的問題的解決方法:
看到這句話之后,我仔細(xì)檢查了一下代碼,發(fā)現(xiàn)我上面已經(jīng)定義過的一個(gè)布爾型變量在下面被我直接當(dāng)數(shù)組來調(diào)用了,所以就出現(xiàn)錯(cuò)誤了。
如果已經(jīng)定義了一個(gè)非數(shù)組元素并賦值,再把它當(dāng)數(shù)組來用就會(huì)出現(xiàn)Cannot use a scalar value as an array的錯(cuò)誤
如: var $i=1000;
$i[5]=345; // 此時(shí)會(huì)出錯(cuò),
所以大家要放棄這個(gè)不規(guī)范的寫代碼方式。
相關(guān)文章
Apache+PHP+MySQL搭建PHP開發(fā)環(huán)境圖文教程
這篇文章主要介紹了Apache+PHP+MySQL搭建PHP開發(fā)環(huán)境圖文教程,文中通過圖文流程介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
php合并數(shù)組array_merge函數(shù)運(yùn)算符加號與的區(qū)別
“+”運(yùn)算符和array_merge():array array_merge ( array array1, array array2 [, array ...] ) 都可以合并多個(gè)數(shù)組,但使用過程中有一點(diǎn)小區(qū)別。2008-10-10
php優(yōu)化及高效提速問題的實(shí)現(xiàn)方法
下面是phper在實(shí)際編寫中,發(fā)現(xiàn)的一些問題,其它我們的好多代碼,需要優(yōu)化,很多程序都是可以再提速的2008-10-10
php自動(dòng)識(shí)別文件編碼并轉(zhuǎn)換為UTF-8的方法
PHP轉(zhuǎn)換文件編碼是一個(gè)比較簡單的事情,但是難的是傳遞中文參數(shù)的時(shí)候,有時(shí)候不知道是什么編碼,結(jié)果造成了亂碼的現(xiàn)象。這篇文章主要介紹了php自動(dòng)識(shí)別編碼并轉(zhuǎn)換為UTF-8的方法,需要的朋友可以參考下2014-06-06

