Rumah > Soal Jawab > teks badan
P粉9868609502023-08-22 09:46:05
Jika anda menghantar tatasusunan PHP ke fungsi yang mengharapkan rentetan, seperti echo
或print
,那么PHP解释器会将你的数组转换为字面字符串Array
, buang Notis ini dan teruskan pelaksanaan. Contohnya:
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
Dalam kes ini, fungsi print
将字面字符串Array
output ke stdout, kemudian log Notis ke stderr dan meneruskan pelaksanaan.
Satu lagi contoh skrip PHP:
<?php $stuff = array(1,2,3); print $stuff; //PHP Notice: Array to string conversion in yourfile on line 3 ?>
$stuff = array(1,2,3); foreach ($stuff as $value) { echo $value, "\n"; }
Keluaran:
1 2 3
Atau mengandungi nama kunci tatasusunan:
$stuff = array('name' => 'Joe', 'email' => 'joe@example.com'); foreach ($stuff as $key => $value) { echo "$key: $value\n"; }
Keluaran:
name: Joe email: joe@example.com
Perhatikan bahawa elemen tatasusunan juga boleh menjadi tatasusunan. Dalam kes ini, ia boleh digunakan semula foreach
或使用数组语法访问内部数组元素,例如$row['name']
Jika ia hanya tatasusunan satu dimensi biasa, anda boleh menggunakan pembatas untuk menggabungkan semua sel menjadi rentetan:
<?php $stuff = array(1,2,3); print implode(", ", $stuff); //输出 1, 2, 3 print join(',', $stuff); //输出 1,2,3
Jika tatasusunan anda mempunyai struktur yang kompleks tetapi masih perlu menukarnya kepada rentetan, anda boleh menggunakan http://php.net/json_encode
$stuff = array('name' => 'Joe', 'email' => 'joe@example.com'); print json_encode($stuff);
Keluaran:
{"name":"Joe","email":"joe@example.com"}
Jika anda hanya ingin memeriksa kandungan tatasusunan untuk tujuan penyahpepijatan, anda boleh menggunakan salah satu fungsi berikut. Perlu diingat bahawa var_dump ialah yang paling bertele-tele daripada kesemuanya dan biasanya lebih disukai untuk tujuan ini
Contoh:
$stuff = array(1,2,3); print_r($stuff); $stuff = array(3,4,5); var_dump($stuff);
Keluaran:
Array ( [0] => 1 [1] => 2 [2] => 3 ) array(3) { [0]=> int(3) [1]=> int(4) [2]=> int(5) }
P粉7398862902023-08-22 00:07:45
Apabila anda mempunyai banyak nama C[]
的HTML输入时,你在POST数组的另一端得到的是这些值的数组$_POST['C']
。所以当你echo
它时,你正在尝试打印一个数组,所以它只会打印Array
dan petunjuk.
Untuk mencetak tatasusunan dengan betul, anda boleh menggelungkannya dan echo
每个元素,或者你可以使用print_r
.
Selain itu, jika anda tidak tahu sama ada ia adalah tatasusunan atau rentetan atau apa sahaja, anda boleh menggunakan var_dump($var)
dan ia akan memberitahu anda jenisnya dan kandungannya. Untuk tujuan penyahpepijatan sahaja.