이 문서에서는 배열을 문자열로 사용하는 방법을 설명합니다. PHP는 배열을 문자열로 변환하는 두 가지 솔루션을 제시합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
첫 번째 종류
이런 종류의 시나리오는 대부분 초보자가 만든 경우이며 실수를 찾아 해결하기 쉽습니다. 문자 그대로 배열을 문자열로 사용하는 것을 의미합니다.
예:
$arr = array(0, 1, 2); //错误1,双引号可以解析变量,但是双引号中,就会认为它是字符串。 var_dump("$arr"); //错误2 echo $arr;
이 경우 결과는 다음과 같이 반환됩니다.
PHP Notice: Array to string conversion in /path/test.php on line 5
해결 방법은 배열을 문자열로 변환한 다음 사용하는 것입니다. 예를 들어 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
을 사용하고 post
를 통해 매개변수를 전달할 때, 매개변수가 2차원 배열이면 이 오류가 보고되는데, 정말 놀랍습니다. 🎜 예: 🎜curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));🎜 이 문제에 대한 해결책도 매우 간단합니다. 매개변수를 처리하려면
http_build_query()
를 사용하세요. 컬을 사용할 때는 모든 매개변수를 http_build_query로 처리하는 것이 좋습니다. 🎜rrreee🎜추천 학습: 🎜php 비디오 튜토리얼🎜🎜위 내용은 PHP가 Array를 프롬프트할 때 해야 할 일의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!