Bagaimana untuk mengalih keluar nilai yang ditentukan daripada tatasusunan php

WBOY
Lepaskan: 2023-05-11 09:37:07
asal
730 orang telah melayarinya

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);
Salin selepas log masuk

Menggunakan fungsi array_filter Fungsi

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");
Salin selepas log masuk

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.

Menggunakan fungsi array_search dan fungsi unset

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]);
}
Salin selepas log masuk

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.

Menggunakan fungsi array_diff

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);
Salin selepas log masuk

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.

Gunakan gelung foreach dan fungsi nyahtetap

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]);
  }
}
Salin selepas log masuk

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.

Ringkasan

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan