Bagaimana dengan cepat mengalih keluar elemen daripada tatasusunan dua dimensi dalam php

PHPz
Lepaskan: 2023-04-26 09:49:29
asal
780 orang telah melayarinya

Dalam pengaturcaraan PHP, tatasusunan pengendalian adalah tugas yang sangat biasa. Kadangkala, kita perlu memadamkan beberapa elemen daripada tatasusunan dua dimensi. Artikel ini akan memperkenalkan beberapa kaedah untuk mengalih keluar elemen tatasusunan dua dimensi dengan cepat dalam PHP.

Kaedah 1: Gunakan gelung foreach

Cara paling biasa untuk mengalih keluar tatasusunan dua dimensi ialah menggunakan gelung foreach. Kita boleh menggunakan gelung foreach untuk mengulangi tatasusunan dan mengalih keluar elemen daripada tatasusunan melalui fungsi unset().

Kod sampel:

$array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22),
);

foreach ($array as $key => $value) {
    if ($value['name'] == '张三') {
        unset($array[$key]);
    }
}

print_r($array);
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan gelung foreach untuk melintasi tatasusunan dan menyimpan kunci dan nilai setiap elemen dalam pembolehubah $key dan $value. Kami kemudian menggunakan pernyataan if untuk menyemak sama ada kunci 'nama' setiap elemen adalah sama dengan '张三'. Jika ya, kami menggunakan fungsi unset() untuk mengalih keluar elemen daripada tatasusunan.

Kaedah ini mudah dan mudah difahami serta sesuai untuk tatasusunan kecil. Walau bagaimanapun, apabila tatasusunan adalah sangat besar, gelung foreach mungkin menyebabkan masalah prestasi kerana ia perlu melintasi keseluruhan tatasusunan.

Kaedah 2: Gunakan fungsi array_filter()

Cara lain untuk mengalih keluar elemen dengan cepat daripada tatasusunan dua dimensi ialah menggunakan fungsi array_filter(). Fungsi ini boleh membantu kami menapis elemen tatasusunan yang memenuhi syarat tertentu.

Kod sampel:

$array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22),
);

$array = array_filter($array, function($value){
    return $value['name'] != '张三';
});

print_r($array);
Salin selepas log masuk

Dalam contoh di atas, kami menghantar tatasusunan $array sebagai parameter pertama kepada fungsi array_filter(). Kami kemudian menggunakan fungsi tanpa nama sebagai parameter kedua yang menerima setiap elemen tatasusunan sebagai parameter dan mengembalikan benar atau salah untuk menunjukkan sama ada untuk mengekalkan elemen tersebut.

Dalam kes ini, kami menggunakan fungsi tanpa nama untuk menyemak sama ada kekunci 'nama' setiap elemen adalah sama dengan '张三'. Jika tidak, kami kembali benar untuk mengekalkan elemen.

Menggunakan fungsi array_filter() boleh memudahkan kod dan meningkatkan prestasi. Ia berfungsi dengan baik untuk tatasusunan dengan sejumlah besar elemen.

Kaedah 3: Gunakan fungsi array_map()

Fungsi array_map() juga boleh digunakan untuk mengalih keluar elemen tatasusunan dua dimensi. Fungsi ini menggunakan fungsi panggil balik pada setiap elemen tatasusunan dan mengembalikan tatasusunan terhasil bagi fungsi yang digunakan.

Kod contoh:

$array = array(
    array('name' => '张三', 'age' => 20),
    array('name' => '李四', 'age' => 21),
    array('name' => '王五', 'age' => 22),
);

$filtered_array = array_map(function($value){
    if($value['name'] == '张三'){
        return null;
    }
    return $value;
}, $array);

$array = array_filter($filtered_array);

print_r($array);
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi array_map() untuk menggunakan fungsi tanpa nama pada setiap elemen tatasusunan. Jika kunci 'nama' elemen adalah sama dengan '张三', kami mengembalikan null, jika tidak, kami mengembalikan elemen itu sendiri. Kemudian, kami menggunakan fungsi array_filter() untuk menapis semua elemen nol.

Menggunakan fungsi array_map() boleh menyebabkan masalah prestasi kerana ia mesti melelang melalui keseluruhan tatasusunan dan menghantar setiap elemen ke fungsi panggil balik. Walau bagaimanapun, jika tatasusunan anda sangat besar dan anda perlu melakukan operasi lain pada tatasusunan pada masa yang sama, anda boleh mempertimbangkan untuk menggunakan kaedah ini.

Ringkasan

Di atas ialah tiga kaedah untuk mengalih keluar elemen tatasusunan dua dimensi dalam PHP dengan cepat. Tugasan boleh diselesaikan dengan berkesan menggunakan gelung foreach, fungsi array_filter() dan fungsi array_map(). Pilih kaedah yang paling sesuai berdasarkan keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana dengan cepat mengalih keluar elemen daripada tatasusunan dua dimensi 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!