Dieser Artikel erklärt, wie man Arrays als Strings verwendet. PHP schlägt zwei Lösungen für die Array-zu-String-Konvertierung vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Die erste Art
Diese Art von Szenario kommt relativ selten vor und es ist leicht, Fehler zu finden und zu beheben. Es bedeutet wörtlich, das Array als String zu verwenden.
Beispiel:
$arr = array(0, 1, 2); //错误1,双引号可以解析变量,但是双引号中,就会认为它是字符串。 var_dump("$arr"); //错误2 echo $arr;
In diesem Fall wird das Ergebnis zurückgegeben:
PHP Notice: Array to string conversion in /path/test.php on line 5
Die Lösung besteht darin, das Array in einen String umzuwandeln und ihn dann zu verwenden: Verwenden Sie beispielsweise json_encode($arr)
;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
verwenden und Parameter über post
übergeben und der Parameter ein zweidimensionales Array ist, wird dieser Fehler gemeldet, was erstaunlich ist. 🎜Beispiel: 🎜curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
http_build_query()
, um die Parameter zu verarbeiten. Es wird empfohlen, bei Verwendung von Curl alle Parameter mit http_build_query zu verarbeiten. 🎜rrreee🎜Empfohlenes Lernen: 🎜php-Video-Tutorial🎜🎜Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP Array auffordert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!