PHP 공지의 의미와 재현 방법 :
당신이 좋아하는 캐릭터 라인을 기대하는 함수로 PHP 배열을 보낼 경우 echo
또는 print
다음 PHP 인터프리터가 리터럴 문자열로 배열을 변환합니다, Array
이 통지서를 던져 계속. 예를 들면 :
php> print(array(1,2,3))
PHP Notice: Array to string conversion in
/usr/local/lib/python2.7/dist-packages/phpsh/phpsh.php(591) :
eval()'d code on line 1
Array
이 경우 함수 print
는 리터럴 문자열 Array
을 stdout에 덤프 한 다음 알림을 stderr에 기록하고 계속 진행합니다.
PHP 스크립트의 또 다른 예 :
<?php
$stuff = array(1,2,3);
print $stuff; //PHP Notice: Array to string conversion in yourfile on line 3
?>
두 가지 옵션이 있습니다. 배열-문자열 변환기를 사용하여 PHP 배열을 String으로 캐스트하거나 PHP 알림을 표시하지 않습니다.
수정 1 : 내장 PHP 함수 print_r 또는 var_dump를 사용하십시오.
http://php.net/manual/en/function.print-r.php 또는 http://php.net/manual/en/function.var-dump.php
$stuff = array(1,2,3);
print_r($stuff);
$stuff = array(3,4,5);
var_dump($stuff);
인쇄물:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
array(3) {
[0]=>
int(3)
[1]=>
int(4)
[2]=>
int(5)
}
수정 2 : json_encode를 사용하여 배열을 json 문자열로 축소합니다.
$stuff = array(1,2,3);
print json_encode($stuff); //Prints [1,2,3]
수정 3 : 배열의 모든 셀을 함께 결합 :
<?php
$stuff = array(1,2,3);
print implode(", ", $stuff); //prints 1, 2, 3
print join(',', $stuff); //prints 1, 2, 3
?>
수정 4 : 고지 사항 억제 :
error_reporting(0);
print(array(1,2,3)); //Prints 'Array' without a Notice.
$Texting[i]
오타는?$Texting[$i]
대신 해야하지 않습니까?