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?>
你有2个选项,要么使用数组到字符串转换器将PHP数组转换为String,要么禁止PHP通知。
更正1:使用内置的php函数print_r或var_dump:$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.