Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap daripada Tatasusunan PHP mengikut Nilai, Bukan Kunci?
Dalam PHP, tatasusunan selalunya mengandungi koleksi nilai unik. Memadamkan elemen tertentu berdasarkan nilainya, terutamanya apabila kunci berkaitannya tidak diketahui, memerlukan pendekatan yang bijak.
Pertimbangkan tatasusunan seperti di bawah:
$messages = [312, 401, 1599, 3, ...];
Matlamat kami adalah untuk mengalih keluar elemen dengan nilai tertentu, seperti 1599.
Brute force kaedah, seperti lelaran pada tatasusunan dan mengalih keluar elemen padanan secara manual, boleh menjadi tidak cekap dan terdedah kepada ralat. Ini benar terutamanya apabila tatasusunan adalah besar atau penduduk jarang.
Pendekatan yang lebih elegan melibatkan penggunaan fungsi array_search() terbina dalam bersama-sama dengan unset( ) fungsi:
if (($key = array_search($del_val, $messages)) !== false) { unset($messages[$key]); }
Fungsi array_search() mencari nilai tertentu dalam tatasusunan dan mengembalikan kuncinya jika dijumpai. Jika nilai tidak ditemui, ia mengembalikan palsu.
Fungsi unset() pula, mengalih keluar elemen daripada tatasusunan berdasarkan kuncinya.
Pernyataan if menyemak sama ada array_search() telah menemui nilai yang hendak dipadamkan. Jika ada, penyataan itu meneruskan untuk melaksanakan fungsi unset(), berjaya mengalih keluar elemen yang sepadan daripada tatasusunan $messages.
Adalah penting untuk ambil perhatian bahawa array_search() boleh mengembalikan nilai false-y walaupun ia mencari elemen sasaran (cth., apabila kuncinya ialah 0). Oleh itu, operator perbandingan yang ketat !== digunakan untuk menyemak nilai palsu yang benar. Ini memastikan bahawa fungsi unset() hanya dilaksanakan apabila elemen dengan nilai yang dikehendaki benar-benar terletak.
Kaedah ini cekap dan boleh dipercayai, kerana ia memanfaatkan PHP yang dibina -dalam fungsi untuk melaksanakan operasi carian dan penyingkiran. Walau bagaimanapun, perlu diingat bahawa ia kekal sebagai algoritma carian linear, bermakna prestasinya merosot sedikit apabila saiz tatasusunan meningkat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Elemen dengan Cekap daripada Tatasusunan PHP mengikut Nilai, Bukan Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!