您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php提示Array的解決方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
php提示Array的解決方法
第一種
這種場景比較少,大多數都是新手才會犯,也很容易發現解決錯誤。就是字面意思,將數組當成字符串使用了。
示例:
//錯誤1,雙引號可以解析變量,但是雙引號中,就會認為它是字符串。 $arr = array(0, 1, 2);var_dump("$arr"); //錯誤2 echo $arr;
這種情況會返回結果:
PHP Notice: Array to string conversion in /path/test.php on line 5
解決方案就是將數組轉換成字符串再使用:比如使用json_encode($arr)
;
第二種
這種場景也比較少,而且只看提示 Array to string conversion 很難理解哪里出錯了。
在我們使用curl
的時候,通過post
傳參數,當參數為二維數組的時候,會報這個錯,這就很神奇了。
示例:
$data = array([0], [1], [3]);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);//報錯行curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$result = curl_exec($ch);
這個問題解決方案也很簡單
使用 http_build_query()
處理一下參數就可以了。建議使用curl的時候,參數都用http_build_query處理一下。
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
這是個錯誤是我們在PHP使用中,把數組當成了字符串使用。有兩種情況下會出現這種錯誤。
這種場景比較少,大多數都是新手才會犯,也很容易發現解決錯誤。就是字面意思,將數組當成字符串使用了。
示例:
$arr = array(0, 1, 2);//錯誤1,雙引號可以解析變量,但是雙引號中,就會認為它是字符串。var_dump("$arr");//錯誤2echo $arr;
這種情況會返回結果:
PHP Notice: Array to string conversion in /path/test.php on line 5
Array
解決方案就是將數組轉換成字符串再使用:比如使用json_encode($arr);
這種場景也比較少,而且只看提示 Array to string conversion 很難理解哪里出錯了。
在我們使用curl的時候,通過post傳參數,當參數為二維數組的時候,會報這個錯,這就很神奇了。
示例:
$data = array([0], [1], [3]);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, FALSE);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_POST, 1);//報錯行curl_setopt($ch, CURLOPT_POSTFIELDS, $data);$result = curl_exec($ch);
這個問題解決方案也很簡單
使用 http_build_query()處理一下參數就可以了。建議使用curl的時候,參數都用http_build_query處理一下。
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
關于“php提示Array的解決方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。