>  기사  >  백엔드 개발  >  PHP가 Array를 프롬프트할 때 해야 할 일

PHP가 Array를 프롬프트할 때 해야 할 일

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-04-06 11:29:222236검색

이 문서에서는 배열을 문자열로 사용하는 방법을 설명합니다. PHP는 배열을 문자열로 변환하는 두 가지 솔루션을 제시합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP가 Array를 프롬프트할 때 해야 할 일

첫 번째 종류

이런 종류의 시나리오는 대부분 초보자가 만든 경우이며 실수를 찾아 해결하기 쉽습니다. 문자 그대로 배열을 문자열로 사용하는 것을 의미합니다.
예:

$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제