Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengalih Keluar Elemen daripada Tatasusunan PHP mengikut Nilai, Bukan Kunci?

Bagaimanakah Saya Boleh Mengalih Keluar Elemen daripada Tatasusunan PHP mengikut Nilai, Bukan Kunci?

Barbara Streisand
Barbara Streisandasal
2024-12-23 19:46:10277semak imbas

How Can I Remove an Element from a PHP Array by Value, Not Key?

Mengalih keluar Elemen daripada Tatasusunan PHP mengikut Nilai (Bukan Kunci)

Apabila berurusan dengan tatasusunan dalam PHP, selalunya perlu mengalih keluar elemen berdasarkan pada nilai mereka dan bukannya kunci mereka. Pertimbangkan tatasusunan seperti ini:

$messages = [312, 401, 1599, 3, ...];

Dengan nilai dalam tatasusunan ini unik, bagaimanakah kita boleh memadamkan elemen dengan nilai tertentu secara selektif tanpa mengetahui kuncinya?

Penyelesaian : Menggunakan array_search() dan unset()

PHP menyediakan dua fungsi berguna untuk tujuan ini: array_search() dan unset(). Gabungan fungsi ini membolehkan kita mencari kunci elemen dan kemudian mengeluarkannya daripada tatasusunan. Begini cara ia berfungsi:

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}

Kod ini menggunakan array_search() untuk mencari kunci elemen dengan nilai $del_val. Jika kunci tidak ditemui, array_search() mengembalikan FALSE. Walau bagaimanapun, kami menggunakan operator perbandingan yang ketat !== untuk memastikan bahawa ungkapan hanya menilai kepada benar jika array_search() secara eksplisit mengembalikan FALSE, mengelakkan nilai false-y (cth., kunci 0).

Jika kuncinya ialah didapati, fungsi unset() digunakan untuk mengalih keluar elemen daripada tatasusunan $messages. Adalah penting untuk ambil perhatian bahawa unset() berfungsi mengikut kunci, itulah sebabnya kita perlu mendapatkan kunci daripada array_search() terlebih dahulu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Elemen daripada Tatasusunan PHP mengikut Nilai, Bukan Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn