Tapis Kekunci Tatasusunan Bersekutu Berdasarkan Nilai Tatasusunan Terindeks
Ramai pengaturcara menghadapi cabaran menapis kekunci secara terpilih daripada tatasusunan bersekutu berdasarkan tertentu nilai yang disimpan dalam tatasusunan diindeks. Dalam PHP, fungsi panggil balik array_filter() hanya menyediakan akses kepada nilai tatasusunan, meninggalkan fungsi pemadanan kunci.
Pertimbangkan senario berikut di mana $my_array mengandungi pasangan nilai kunci:
$my_array = ["foo" => 1, "hello" => "world"];
Dan $allowed ialah tatasusunan diindeks mudah dengan kekunci yang dibenarkan:
$allowed = ["foo", "bar"];
The matlamatnya adalah untuk mengubah suai $my_array supaya ia hanya mengandungi kunci yang turut terdapat dalam $allowed. Output yang dikehendaki ialah:
$my_array = ["foo" => 1];
Untuk mencapai ini, kita boleh memanfaatkan fungsi array_intersect_key() dan array_flip():
var_dump(array_intersect_key($my_array, array_flip($allowed)));
Penjelasan:
Dengan menggabungkan fungsi ini, kita boleh mengalih keluar kekunci secara terpilih daripada tatasusunan bersekutu berdasarkan nilai dalam tatasusunan diindeks tanpa mengulangi kekunci secara manual dan membandingkannya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Kekunci Tatasusunan Bersekutu Berdasarkan Nilai Tatasusunan Terindeks dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!