Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk membuang rentetan daripada tatasusunan dalam php

Bagaimana untuk membuang rentetan daripada tatasusunan dalam php

PHPz
Lepaskan: 2023-04-26 09:59:36
asal
682 orang telah melayarinya

Dalam PHP, kita selalunya perlu beroperasi pada tatasusunan. Satu operasi biasa ialah membuang rentetan daripada tatasusunan. Artikel ini akan memperkenalkan cara menggunakan fungsi dan kaedah dalam PHP untuk mencapai operasi ini.

1. Gunakan fungsi array_filter()

Fungsi array_filter() ialah fungsi terbina dalam PHP yang boleh mengalih keluar beberapa nilai daripada tatasusunan. Penggunaannya adalah seperti berikut:

array_filter(array $input, callable $callback = "?"): array
Salin selepas log masuk

Antaranya, parameter $input ialah tatasusunan yang perlu diproses, dan parameter $callback ialah fungsi panggil balik pilihan yang digunakan untuk menentukan elemen tatasusunan yang dikekalkan.

Berikut ialah contoh:

$my_array = [1, 2, 'hello', 'world'];

$filtered_array = array_filter($my_array, function($element) {
    return (!is_string($element)); //返回true表示要保留该元素,返回false表示要去掉该元素
});

print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 )
Salin selepas log masuk

Dalam contoh di atas, $filtered_array hanya mengandungi unsur integer 1 dan 2.

2. Gunakan fungsi array_map()

Fungsi array_map() juga merupakan fungsi terbina dalam PHP Ia boleh menukar satu tatasusunan kepada tatasusunan lain, dan pada masa yang sama, ia boleh mengubah suai setiap elemen di dalamnya secara automatik. Anda boleh menggunakan array_map() untuk mengalih keluar rentetan daripada tatasusunan Kaedah khusus adalah seperti berikut:

array_map(callable $callback , array $array , array ...$arrays): array
Salin selepas log masuk

Antaranya, parameter $callback ialah fungsi panggil balik yang digunakan untuk mengendalikan setiap elemen dalam tatasusunan parameter $array ialah tatasusunan yang akan diproses dan parameter $arrays ialah tatasusunan lain pilihan.

Berikut ialah contoh:

$my_array = [1, 2, 'hello', 'world'];

$filtered_array = array_map(function($element) {
    if(is_string($element)) { //如果是字符串,则返回null,表示要去掉该元素
        return null;
    } else { //否则返回元素本身
        return $element;
    }
}, $my_array);

print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 [2] => [3] => )
Salin selepas log masuk

Dalam contoh di atas, $filtered_array hanya mengandungi elemen integer 1 dan 2.

3. Gunakan array_intersect()

Fungsi array_intersect() digunakan untuk membandingkan dua atau lebih tatasusunan dan mengembalikan tatasusunan yang mengandungi elemen yang wujud dalam semua tatasusunan. Kita boleh menggunakan fungsi ini untuk mengalih keluar rentetan daripada tatasusunan.

Berikut ialah contoh:

$my_array = [1, 2, 'hello', 'world'];

$filtered_array = array_intersect($my_array, array_filter($my_array, 'is_int'));

print_r($filtered_array); //输出:Array ( [0] => 1 [1] => 2 )
Salin selepas log masuk

Dalam contoh di atas, $filtered_array mengandungi unsur integer 1 dan 2 yang tidak mengandungi sebarang rentetan.

Ringkasan

Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk mengalih keluar rentetan daripada tatasusunan. Artikel ini memperkenalkan beberapa kaedah yang biasa digunakan, termasuk fungsi array_filter(), fungsi array_map() dan fungsi array_intersect(). Menggunakan fungsi ini boleh membantu kami melaksanakan operasi tatasusunan dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk membuang rentetan daripada tatasusunan dalam 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