溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

運(yùn)行php代碼提示array to string conversion的解決方法

發(fā)布時(shí)間:2021-03-09 11:00:05 來(lái)源:億速云 閱讀:1567 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了運(yùn)行php代碼提示array to string conversion的解決方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

場(chǎng)景一:

這種場(chǎng)景比較少,大多數(shù)都是新手才會(huì)犯,也很容易發(fā)現(xiàn)解決錯(cuò)誤。就是字面意思,將數(shù)組當(dāng)成字符串使用了。
示例:

$arr = array(0, 1, 2);

//錯(cuò)誤1,雙引號(hào)可以解析變量,但是雙引號(hào)中,就會(huì)認(rèn)為它是字符串。
var_dump("$arr");
//錯(cuò)誤2
echo $arr;

這種情況會(huì)返回結(jié)果:

PHP Notice: Array to string conversion in /path/test.php on line 5
Array

解決方案就是將數(shù)組轉(zhuǎn)換成字符串再使用:比如使用json_encode($arr);

(學(xué)習(xí)視頻分享:php視頻教程)

場(chǎng)景二:

這種場(chǎng)景也比較少,而且只看提示 Array to string conversion 很難理解哪里出錯(cuò)了。

在我們使用curl的時(shí)候,通過(guò)post傳參數(shù),當(dāng)參數(shù)為二維數(shù)組的時(shí)候,會(huì)報(bào)這個(gè)錯(cuò),這就很神奇了。

示例:

$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);

//報(bào)錯(cuò)行
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);

這個(gè)問(wèn)題解決方案也很簡(jiǎn)單

使用 http_build_query()處理一下參數(shù)就可以了。建議使用curl的時(shí)候,參數(shù)都用http_build_query處理一下。

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“運(yùn)行php代碼提示array to string conversion的解決方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI