Home  >  Article  >  Backend Development  >  What to do when php prompts Array

What to do when php prompts Array

醉折花枝作酒筹
醉折花枝作酒筹forward
2021-04-06 11:29:222236browse

This article will explain the use of arrays as strings. PHP prompts two solutions for Array to string conversion. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

What to do when php prompts Array

The first type

This kind of scenario is relatively rare, and most of them are committed by novices. , it is also easy to find and resolve errors. It literally means using the array as a string.
Example:

$arr = array(0, 1, 2);
//错误1,双引号可以解析变量,但是双引号中,就会认为它是字符串。
var_dump("$arr");
//错误2
echo $arr;

In this case, the result will be returned:

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

The solution is to convert the array into a string and then use it: for example, use json_encode($arr);

The second type

This kind of scenario is also relatively rare, and it is difficult to understand what went wrong just by looking at the prompt Array to string conversion.
When we use curl, we pass parameters through post. When the parameter is a two-dimensional array, this error will be reported, which is amazing.
Example:

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

The solution to this problem is also very simple. Just use http_build_query() to process the parameters. It is recommended that when using curl, all parameters should be processed with http_build_query.

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

Recommended learning: php video tutorial

The above is the detailed content of What to do when php prompts Array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete