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

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

醉折花枝作酒筹
풀어 주다: 2023-03-09 10:22:01
앞으로
2295명이 탐색했습니다.

이 문서에서는 배열을 문자열로 사용하는 방법을 설명합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿