PHP solicita una solución de conversión de matriz a cadena

Esto es un error cuando usamos la matriz como una cadena en PHP. Hay dos situaciones en las que se produce este error.

escena uno

Estos escenarios son relativamente raros, y la mayoría de ellos son novatos, y es fácil encontrar y resolver errores. Literalmente, la matriz se usa como una cadena.
Ejemplo:

$ arr = array (0, 1, 2); // Error 1, las comillas dobles pueden analizar la variable, pero entre comillas dobles, se considerará una cadena. var_dump ("$ arr"); // error 2echo $ arr; 123456

En este caso, se devolverá el resultado:
Aviso de PHP: conversión de matriz a cadena en /path/test.php en la línea 5
Matriz

La solución es convertir la matriz en una cadena y usarla nuevamente: por ejemplo, use json_encode ($ arr);

Escena dos

Hay relativamente pocos escenarios de este tipo, y es difícil entender qué salió mal con solo mirar el mensaje Array to string conversion.
Cuando usamos curl, pasamos los parámetros a través de la publicación. Cuando el parámetro es una matriz bidimensional, se informa de este error, lo cual es sorprendente.
Ejemplo:

$ datos = matriz ([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, $ datos); $ resultado = curl_exec ($ ch); 1234567891011

La solución a este problema también es muy simple:
use http_build_query () para procesar los parámetros. Se recomienda usar http_build_query para todos los parámetros cuando se usa curl.

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

Supongo que te gusta

Origin blog.csdn.net/yy17822307852/article/details/112704052
Recomendado
Clasificación