Thông báo PHP có nghĩa là gì và cách tạo lại nó:
Nếu bạn gửi một mảng PHP vào một hàm mong đợi một chuỗi như: echo
hoặc print
, thì trình thông dịch PHP sẽ chuyển đổi mảng của bạn thành chuỗi ký tự Array
, hãy ném Thông báo này và tiếp tục. Ví dụ:
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
Trong trường hợp này, hàm kết print
xuất chuỗi ký tự:Array
sang stdout và sau đó ghi lại Thông báo vào stderr và tiếp tục.
Một ví dụ khác trong tập lệnh PHP:
<?php
$stuff = array(1,2,3);
print $stuff; //PHP Notice: Array to string conversion in yourfile on line 3
?>
Bạn có 2 tùy chọn, hoặc truyền mảng PHP của bạn sang Chuỗi bằng cách sử dụng trình chuyển đổi mảng sang chuỗi hoặc loại bỏ Thông báo PHP.
Sửa lỗi 1: sử dụng hàm php nội trang print_r hoặc var_dump:
http://php.net/manual/en/ Chức năng.print-r.php hoặc http://php.net/manual/en/ Chức năng.var-dump.php
$stuff = array(1,2,3);
print_r($stuff);
$stuff = array(3,4,5);
var_dump($stuff);
Bản in:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
array(3) {
[0]=>
int(3)
[1]=>
int(4)
[2]=>
int(5)
}
Cách sửa 2: Sử dụng json_encode để thu gọn mảng thành chuỗi json:
$stuff = array(1,2,3);
print json_encode($stuff); //Prints [1,2,3]
Sửa 3: Nối tất cả các ô trong mảng với nhau:
<?php
$stuff = array(1,2,3);
print implode(", ", $stuff); //prints 1, 2, 3
print join(',', $stuff); //prints 1, 2, 3
?>
Chỉnh sửa 4: ngăn chặn Thông báo:
error_reporting(0);
print(array(1,2,3)); //Prints 'Array' without a Notice.
$Texting[i]
một lỗi chính tả? Đó không phải là$Texting[$i]
thay thế?