PHP 오류 해결: 배열을 문자열로 변환할 때 고려해야 할 사항
P粉538462187
2023-08-21 12:23:52
<p>PHP 파일이 있고 <code>$_POST</code>를 출력하려고 하는데 오류가 발생합니다. 코드는 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">echo "<html>";
echo "<본문>";
for($i=0; $i<5;$i++){
echo "<입력 이름='C[]' 값='$Texting[$i]' " .
"style='배경색:#D0A9F5;'></input>";
}
echo "</body>";
echo "</html>";
echo '<input type="submit" value="테이블 저장" name="G"></input>'</pre>
<p>POST를 출력하는 코드는 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">if(!empty($_POST['G'])){
에코 $_POST['C'];
}</pre>
<p>하지만 코드가 실행되면 다음과 같은 오류가 발생합니다. </p>
<pre class="brush:php;toolbar:false;">주의 사항: 배열에서 문자열로 변환
C:8행의 xampphtdocsPHISFinalSubmissionOfTheFormPHP.php</pre>
<p>이 오류는 무엇을 의미하며 어떻게 해결하나요? </p>
PHP 공지의 의미와 재현 방법:
echo
或print
,那么PHP解释器会将你的数组转换为字面字符串Array
와 같이 문자열을 기대하는 함수에 PHP 배열을 전달하는 경우 이 알림을 던지고 실행을 계속하세요. 예:이 경우
print
将字面字符串Array
함수는 stdout으로 출력한 다음 stderr에 통지를 기록하고 실행을 계속합니다.PHP 스크립트의 또 다른 예:
으아악수정 방법 1: foreach 루프를 사용하여 배열 요소에 액세스
http://php.net/foreach
으아악출력:
으아악또는 배열 키 이름 포함:
으아악출력:
으아악배열 요소는 배열일 수도 있습니다. 이 경우 다시 사용할 수 있습니다
foreach
或使用数组语法访问内部数组元素,例如$row['name']
수정 2: 배열의 모든 셀을 함께 결합:
일반적인 1차원 배열인 경우 구분 기호를 사용하여 모든 셀을 문자열로 연결할 수 있습니다.
으아악수정 방법 3: 복잡한 구조의 배열을 문자열로 변환:
배열의 구조가 복잡하지만 여전히 문자열로 변환해야 하는 경우 http://php.net/json_encode
를 사용할 수 있습니다. 으아악출력:
으아악빠른 배열 구조 보기: 내장된 PHP 함수 사용
디버깅 목적으로 배열 내용을 검사하려는 경우 다음 기능 중 하나를 사용할 수 있습니다. var_dump는 그 중에서 가장 장황하며 일반적으로 이 목적에 선호된다는 점을 명심하세요
예:
으아악출력:
으아악이름이 많을 때
C[]
的HTML输入时,你在POST数组的另一端得到的是这些值的数组$_POST['C']
。所以当你echo
它时,你正在尝试打印一个数组,所以它只会打印Array
그리고 힌트.배열을 올바르게 인쇄하려면 배열을 반복하고
echo
每个元素,或者你可以使用print_r
.또한 그것이 배열인지 문자열인지 또는 무엇이든 모르는 경우
var_dump($var)
를 사용하면 그것이 어떤 유형인지, 그 내용이 무엇인지 알려줄 것입니다. 디버깅 목적으로만 사용됩니다.