Dalam pembangunan PHP, selalunya perlu merekodkan log untuk tontonan, analisis dan pengoptimuman kod berikutnya. Dan apabila data tatasusunan perlu direkodkan ke fail log, bagaimana untuk menyimpannya? Beberapa kaedah penyimpanan biasa diperkenalkan di bawah.
1. Gunakan fungsi var_export
var_export ialah fungsi terbina dalam PHP yang boleh mengeluarkan pembolehubah PHP ke dalam kod undang-undang yang boleh digunakan oleh fungsi eval(). Oleh itu, selepas menggunakan var_export untuk mengeluarkan tatasusunan sebagai rentetan, ia boleh disimpan terus ke dalam fail log.
Kod sampel:
$array = array('apple', 'banana', 'orange'); $log = date('Y-m-d H:i:s') . ' Array Log:' . var_export($array, true) . PHP_EOL; file_put_contents('log.txt', $log, FILE_APPEND);
Kod di atas menyimpan tatasusunan sebagai rentetan ke dalam fail log. Antaranya, parameter kedua var_export ditetapkan kepada benar, yang bermaksud bahawa tatasusunan dikembalikan dalam bentuk rentetan dan bukannya output secara langsung.
2. Gunakan fungsi json_encode
json_encode boleh menukar tatasusunan PHP kepada rentetan JSON, dan JSON ialah format pertukaran data ringan yang mudah dibaca, ditulis, dihuraikan dan merentas bahasa serta kelebihan lain. Oleh itu, menyimpan data tatasusunan sebagai rentetan JSON dalam fail log juga merupakan pilihan yang baik.
Kod contoh:
$array = array('apple', 'banana', 'orange'); $log = date('Y-m-d H:i:s') . ' JSON Log:' . json_encode($array) . PHP_EOL; file_put_contents('log.txt', $log, FILE_APPEND);
Untuk menyimpan tatasusunan dalam fail log dalam bentuk JSON, anda boleh menggunakan fungsi json_encode Pemalar pengurusan JSON JSON_UNESCAPED_UNICODE dalam parameter bermakna tidak melepaskan bahasa Cina aksara. Untuk mengekalkan paparan format baharu dalam pelayar atau program lain.
3. Gunakan fungsi serialize
Serialize ialah fungsi yang mensirikan pembolehubah PHP ke dalam rentetan. Dengan menggunakan fungsi bersiri pada tatasusunan, data tatasusunan boleh ditukar menjadi rentetan dan disimpan dalam fail log.
Kod sampel:
$array = array('apple', 'banana', 'orange'); $log = date('Y-m-d H:i:s') . ' Serialized Log:' . serialize($array) . PHP_EOL; file_put_contents('log.txt', $log, FILE_APPEND);
Untuk menyimpan tatasusunan dalam fail log dalam bentuk bersiri, hanya gunakan fungsi bersiri.
Ringkasan:
Tiga kaedah di atas boleh menyimpan data tatasusunan ke dalam fail log Kaedah pemilihan khusus boleh dipilih mengikut keperluan sebenar. Perlu diingatkan bahawa apabila menggunakan fungsi var_export dan serialize, anda perlu mempertimbangkan isu penyahserialisasian, dan apabila menggunakan json_encode, anda perlu mempertimbangkan isu melarikan diri aksara. Tidak kira kaedah yang digunakan, data perlu dihuraikan pada masa yang sesuai untuk penggunaan berterusan dalam kod.
Atas ialah kandungan terperinci Bagaimana untuk menyimpan tatasusunan dalam log php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!