Menyemak Kekunci Tatasusunan Bersekutu Terhadap Nilai Tatasusunan Terindeks
Menapis tatasusunan bersekutu dengan membandingkan kuncinya dengan nilai daripada tatasusunan diindeks boleh menjadi satu cabaran , kerana fungsi panggil balik dalam array_filter() hanya menyediakan akses kepada nilai. Walau bagaimanapun, terdapat penyelesaian menggunakan gabungan array_intersect_key dan array_flip.
Pertimbangkan senario berikut:
$my_array = ["foo" => 1, "hello" => "world"]; $allowed = ["foo", "bar"];
Matlamat kami adalah untuk mengecualikan sebarang kunci dalam $my_array yang tidak ditemui dalam $allowed , menghasilkan yang diingini output:
$my_array = ["foo" => 1];
Penyelesaian dengan array_intersect_key dan array_flip:
$filtered_array = array_intersect_key($my_array, array_flip($allowed));
Output:
var_dump($filtered_array); array(1) { ["foo"]=> int(1) }
Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan Bersekutu Berdasarkan Kekunci yang Ditemui dalam Tatasusunan Berindeks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!