Dalam PHP, jika anda perlu mengalih keluar nilai tertentu daripada tatasusunan, terdapat beberapa cara berbeza untuk melakukannya. Dalam artikel ini, kita akan membincangkan kaedah ini. Katakan kita mempunyai tatasusunan berikut:
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
array_filter()
boleh digunakan untuk menapis nilai yang diperlukan dalam tatasusunan dan mengembalikan tatasusunan baharu. Kita hanya perlu lulus fungsi panggil balik, dan fungsi panggil balik ini menentukan kriteria "nilai yang diperlukan". Dalam kes kami, kami ingin mengalih keluar item dengan nilai 5 daripada tatasusunan, supaya kami boleh menghantar fungsi panggil balik seperti berikut:
function remove_5($value) { return $value != 5; } $arr = array_filter($arr, "remove_5");
Fungsi ini mengambil kesempatan daripada operator perbandingan taip lemah PHP !=
, iaitu Penukaran jenis dilakukan secara automatik apabila membandingkan nilai. Ini bermakna kita tidak perlu risau sama ada nilai input ialah rentetan atau integer, dsb.
array_filter()
Fungsi ini hanya mengembalikan elemen yang memenuhi syarat yang ditentukan dan membina tatasusunan baharu berdasarkan subskrip asalnya. Pada ketika ini, kita harus perhatikan bahawa subskrip tatasusunan baharu ini telah ditetapkan semula, jadi jika kita ingin mengekalkan subskrip asal, kita perlu menggunakan kaedah lain.
array_search()
Fungsi ini boleh digunakan untuk mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan kuncinya. Kita boleh menggunakan fungsi unset()
untuk memadamkan elemen yang sepadan dengan kunci ini. Kod kami kelihatan seperti ini:
$key = array_search(5, $arr); if ($key !== false) { unset($arr[$key]); }
Dalam contoh ini, kami mula-mula menggunakan fungsi array_search()
untuk mencari elemen dengan kekunci 5, dan jika ditemui, kami menggunakan fungsi unset()
untuk mengalih keluarnya.
Perlu diambil perhatian bahawa dalam fungsi array_search()
, parameter pertama ialah nilai yang akan ditemui, dan parameter kedua ialah tatasusunan yang hendak dicari. Jika tiada nilai ditemui, false
dikembalikan.
Kita boleh menggunakan fungsi array_diff()
untuk membandingkan satu tatasusunan dengan tatasusunan lain dan mengembalikan perbezaan antara dua tatasusunan. Dalam kes kami, kami boleh menggunakan fungsi ini untuk mengalih keluar item dengan nilai 5 seperti yang ditunjukkan di bawah:
$remove = array(5); $arr = array_diff($arr, $remove);
Fungsi ini menerima dua parameter, iaitu dua tatasusunan untuk dibandingkan. Ia mengembalikan tatasusunan yang mengandungi unsur-unsur yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan kedua.
Kaedah terakhir memerlukan penggunaan gelung foreach untuk lelaran melalui tatasusunan dan gunakan fungsi unset()
untuk memadamkan nilai yang diperlukan. Kodnya adalah seperti berikut:
foreach ($arr as $key => $value) { if ($value == 5) { unset($arr[$key]); } }
Kaedah ini membolehkan kami mengakses setiap elemen secara langsung dan kami boleh mengubah suai tatasusunan itu sendiri dalam gelung. Walau bagaimanapun, kaedah ini boleh menjejaskan prestasi kerana kerumitannya yang tinggi, yang boleh menyebabkan isu prestasi jika tatasusunan adalah besar.
Dalam PHP, terdapat banyak cara untuk memadamkan elemen tertentu daripada tatasusunan. Anda boleh menggunakan fungsi array_filter()
untuk mengembalikan elemen yang tidak perlu dipadamkan, atau anda boleh menggunakan fungsi array_search()
dan fungsi unset()
untuk memadam elemen yang perlu dipadamkan. Kita juga boleh menggunakan fungsi array_diff()
untuk membandingkan dua tatasusunan dan mengembalikan perbezaannya. Akhir sekali, kita boleh menggunakan gelung dan fungsi unset()
untuk lelaran melalui tatasusunan dan memadamkan elemen yang ditentukan secara terus. Dalam aplikasi tertentu, anda boleh memilih kaedah yang paling sesuai dengan anda berdasarkan keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai yang ditentukan daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!