Amalan terbaik untuk melaksanakan salinan dalam tatasusunan dalam PHP ialah menggunakan json_decode(json_encode($arr)) untuk menukar tatasusunan kepada rentetan JSON dan kemudian menukarnya kembali kepada tatasusunan. Gunakan unserialize(serialize($arr)) untuk mensiri tatasusunan kepada rentetan dan kemudian menyahsirikannya kepada tatasusunan baharu. Gunakan RecursiveIteratorIterator untuk melintasi tatasusunan berbilang dimensi secara rekursif.
Amalan Terbaik untuk Menyalin Dalam Tatasusunan PHP: Temui Kaedah Cekap
Dalam PHP, tatasusunan ialah struktur data biasa yang digunakan secara meluas untuk menyimpan dan memproses data. Dalam sesetengah kes, anda mungkin mahu mencipta salinan tatasusunan supaya anda boleh mengendalikan salinan tanpa menjejaskan tatasusunan asal. Ini dipanggil salinan mendalam.
Kenapa pilih deep copy?
Salah satu faedah utama penyalinan mendalam ialah ia memastikan tatasusunan asal dan salinan adalah bebas antara satu sama lain. Pengubahsuaian yang dibuat pada salinan tidak menjejaskan tatasusunan asal. Ini berguna dalam situasi seperti caching dan senario konkurensi.
Kaedah salinan dalam
Dalam PHP, terdapat beberapa cara untuk melaksanakan salinan dalam:
json_encode() an
untuk menukar tatasusunan Tukar kepada rentetan JSON, kemudian gunakanjson_decode()
untuk menukarnya kepada tatasusunan baharu.json_encode()
将数组转换为 JSON 字符串,然后使用
json_decode()
将其转换为一个新数组。
unserialize()
将其反序列化为一个新数组。真实案例
考虑以下示例:
$original_array = ['name' => 'John', 'age' => 30, 'scores' => [95, 85, 90]]; // 使用 json_decode() 进行深度复制 $copied_array = json_decode(json_encode($original_array), true); // 修改副本 $copied_array['name'] = 'Jane'; // 输出原始和复制的数组 echo '原始数组:'; var_dump($original_array); echo '复制的数组:'; var_dump($copied_array);
在上面的示例中,json_encode()
将原始数组转换为 JSON 字符串,json_decode()
unserialize()
untuk menyahsirikannya menjadi tatasusunan baharu. RecursiveIteratorIterator: Ini ialah lelaran SPL yang menyokong lintasan rekursif tatasusunan berbilang dimensi. Kes SebenarPertimbangkan contoh berikut: rrreeeDalam contoh di atas,
json_encode()
menukar tatasusunan asal kepada rentetan JSON,
json_decode()
Tukarkannya kepada tatasusunan baharu. Kemudian, tatasusunan yang disalin diubah suai tanpa menjejaskan tatasusunan asal.
Atas ialah kandungan terperinci Amalan Terbaik untuk Menyalin Dalam Tatasusunan PHP: Temui Kaedah Cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!