ความหมายของประกาศ 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:
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]
แทน?