Fungsi tatasusunan dalam PHP8: kaedah aplikasi yang cekap array_intersect_key()
Dalam bahasa pengaturcaraan PHP, tatasusunan ialah jenis data yang sangat penting. Apabila bekerja dengan tatasusunan, pembangun selalunya perlu menggunakan fungsi tatasusunan untuk menyelesaikan tugas tertentu. Fungsi baru array_intersect_key() dalam PHP8 boleh digunakan untuk membandingkan berbilang tatasusunan dan mengembalikan nilai yang sepadan dengan kunci yang sama. Artikel ini akan menunjukkan kepada anda cara menggunakan fungsi array_intersect_key() untuk menggariskan senario aplikasi yang cekap.
Pengenalan kepada fungsi array_intersect_key()
Fungsi array_intersect_key() membandingkan dua atau lebih tatasusunan dan mengembalikan tatasusunan yang mengandungi kunci dan nilai yang terdapat dalam semua tatasusunan input. Sintaks fungsi adalah seperti berikut:
array array_intersect_key(array $array1, array $array2 [, array $... ])
Antaranya, $array1 dan $array2 merujuk kepada dua tatasusunan yang diluluskan, dan tatasusunan pilihan berikut merujuk kepada sebarang bilangan tatasusunan tambahan. Fungsi ini akan membandingkan kekunci semua tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi kunci dan nilai sepadannya yang wujud dalam semua tatasusunan.
Gunakan fungsi array_intersect_key() untuk melihat persilangan dua tatasusunan
Contoh berikut akan menunjukkan cara menggunakan fungsi array_intersect_key() untuk melihat persilangan antara dua tatasusunan:
$array1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue'); $array2 = array('a' => 'red', 'b' => 'blue', 'd' => 'orange'); $result = array_intersect_key($array1, $array2); print_r($result);
Hasil pelaksanaan akan memaparkan maklumat berikut:
Array ( [a] => red )
Dalam contoh, kami mentakrifkan dua tatasusunan $array1 dan $array2, dan kemudian gunakan fungsi array_intersect_key() untuk membandingkan nama kuncinya. Hasil yang dikembalikan oleh fungsi ialah nama kunci dan nilai yang sepadan termasuk dalam kedua-dua tatasusunan, iaitu, hanya terdapat satu entri 'a => merah'. Fungsi ini adalah operasi yang sangat pantas dan oleh itu boleh digunakan secara meluas dalam program PHP.
Gunakan fungsi array_intersect_key() untuk melihat persilangan berbilang tatasusunan
Selain membandingkan dua tatasusunan, fungsi array_intersect_key() juga boleh membandingkan persilangan antara berbilang tatasusunan. Contoh berikut akan menunjukkan cara menggunakan fungsi untuk membandingkan persilangan kunci antara tiga tatasusunan:
$array1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue'); $array2 = array('a' => 'red', 'b' => 'blue', 'd' => 'orange'); $array3 = array('a' => 'red', 'b' => 'green', 'e' => 'yellow'); $result = array_intersect_key($array1, $array2, $array3); print_r($result);
Hasil pelaksanaan akan memaparkan maklumat berikut:
Array ( [a] => red [b] => green )
Dalam contoh ini, kami mentakrifkan tiga tatasusunan $array1, $array2, dan $array3, dan kemudian gunakan fungsi array_intersect_key() untuk membandingkan nama kunci mereka. Hasil yang dikembalikan oleh fungsi ialah nama kunci dan nilai yang sepadan termasuk dalam tiga tatasusunan, iaitu, terdapat dua entri 'a => merah' dan 'b => hijau'. Tidak seperti membandingkan persilangan dua tatasusunan, membandingkan persilangan berbilang tatasusunan mungkin mengambil lebih banyak masa untuk disiapkan, jadi anda harus berhati-hati apabila berurusan dengan sejumlah besar data untuk mengelak daripada membebankan program anda.
Gunakan fungsi array_intersect_key() untuk membandingkan objek
Dalam PHP8, kita juga boleh menggunakan fungsi array_intersect_key() untuk membandingkan objek. Dalam kes ini, kunci tatasusunan akan menjadi nama harta objek, dan nilai yang sepadan ialah nilai harta benda. Contoh berikut menunjukkan cara menggunakan fungsi array_intersect_key() untuk membandingkan persimpangan utama antara dua objek:
class MyClass { public $a = 'red'; private $b = 'green'; protected $c = 'blue'; } $obj1 = new MyClass(); $obj2 = new MyClass(); $obj2->a = 'blue'; $obj2->d = 'orange'; $result = array_intersect_key(get_object_vars($obj1), get_object_vars($obj2)); print_r($result);
Apabila anda menjalankan contoh ini, anda akan melihat output berikut:
Array ( [a] => red )
Dalam contoh ini , kami mentakrifkan dua kejadian kelas MyClass $obj1 dan $obj2 dan menggunakan fungsi array_intersect_key() untuk membandingkan sifatnya. Hasil yang dikembalikan oleh fungsi ialah nama atribut dan nilai sepadan yang disertakan dalam kedua-dua objek, iaitu, hanya terdapat satu entri 'a => merah'. Perlu diingatkan bahawa fungsi ini hanya boleh membandingkan sifat objek, bukan kaedah objek.
Ringkasan
Dalam artikel ini, kami memperkenalkan anda kepada penggunaan fungsi tatasusunan baharu array_intersect_key() dalam PHP8. Kami menunjukkan cara membandingkan persilangan kunci antara dua atau lebih tatasusunan dan menunjukkan kepada anda penggunaan fungsi ini dengan cekap. Kami juga menunjukkan cara fungsi ini boleh digunakan untuk membandingkan persilangan nama harta antara dua objek, dengan nama harta objek ialah kunci tatasusunan. Apabila membangunkan aplikasi PHP8, menggunakan fungsi array_intersect_key() boleh menjadikan pengekodan lebih mudah, lebih pantas dan lebih cekap.
Atas ialah kandungan terperinci Fungsi tatasusunan dalam PHP8: kaedah aplikasi yang cekap array_intersect_key(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!