Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar elemen daripada tatasusunan dua dimensi dalam php

Bagaimana untuk mengalih keluar elemen daripada tatasusunan dua dimensi dalam php

PHPz
PHPzasal
2023-04-26 09:10:48599semak imbas

Dalam PHP, jika kita perlu mengalih keluar elemen tertentu daripada tatasusunan dua dimensi, kita boleh menggunakan beberapa fungsi tatasusunan asas untuk mencapai ini. Dalam artikel ini, kami akan memperkenalkan dua kaedah untuk mengalih keluar elemen daripada tatasusunan dua dimensi dalam PHP.

Kaedah 1: Gunakan fungsi array_filter dan array_map

array_filter boleh menapis nilai dalam tatasusunan yang tidak memenuhi syarat dan array_map boleh menggunakan fungsi panggil balik yang ditentukan untuk setiap elemen dalam tatasusunan. Kita boleh menggabungkan dua fungsi untuk menapis elemen dalam tatasusunan yang memenuhi syarat dan menyelesaikan operasi penyingkiran.

Sebagai contoh, jika kita perlu mengalih keluar semua elemen yang umurnya kurang daripada atau sama dengan 30 tahun daripada tatasusunan dua dimensi berikut:

$students = array(
    array('name' => 'John', 'age' => 25, 'grade' => 'A'),
    array('name' => 'Jane', 'age' => 35, 'grade' => 'B'),
    array('name' => 'Bob', 'age' => 28, 'grade' => 'C'),
    array('name' => 'Alice', 'age' => 30, 'grade' => 'D')
);

kita boleh menggunakan kod berikut :

$students = array_map(function($student){
    return array_filter($student, function($value, $key){
        if($key == 'age' && $value <= 30){
            return false;
        }
        return true;
    }, ARRAY_FILTER_USE_BOTH);
}, $students);

Dalam blok kod ini, kita mula-mula menggunakan array_map untuk menggunakan fungsi pada setiap elemen dalam tatasusunan $students. Fungsi ini menggunakan fungsi array_filter untuk menapis elemen yang memenuhi syarat syaratnya ialah jika nilai kunci elemen ialah 'umur' dan nilainya kurang daripada atau sama dengan 30, ia mengembalikan palsu, jika tidak, ia akan mengembalikan benar. Kemudian, kami menyusun semula setiap elemen yang kami peroleh ke dalam tatasusunan dua dimensi baharu, iaitu tatasusunan baharu yang menghapuskan elemen yang umurnya kurang daripada atau sama dengan 30 tahun.

Kaedah 2: Gunakan gelung foreach

Kod kaedah 1 agak panjang dan sukar difahami Kita boleh menggunakan gelung foreach untuk memudahkan kod. Untuk setiap elemen dalam tatasusunan dua dimensi, kita boleh menentukan sama ada syarat pemadaman dipenuhi dalam gelung, dan jika tidak, simpan subskrip elemen itu kepada tatasusunan baharu. Akhir sekali, kita boleh menggunakan fungsi array_diff_key untuk membandingkan tatasusunan asal dengan tatasusunan baharu untuk mendapatkan tatasusunan dua dimensi baharu yang daripadanya semua elemen yang memenuhi syarat telah dipadamkan.

Sebagai contoh, jika kita perlu mengalih keluar semua elemen yang umurnya kurang daripada atau sama dengan 30 tahun daripada tatasusunan dua dimensi berikut:

$students = array(
    array(&#39;name&#39; => 'John', 'age' => 25, 'grade' => 'A'),
    array('name' => 'Jane', 'age' => 35, 'grade' => 'B'),
    array('name' => 'Bob', 'age' => 28, 'grade' => 'C'),
    array('name' => 'Alice', 'age' => 30, 'grade' => 'D')
);

kita boleh menggunakan kod berikut :

$keys = array();
foreach($students as $key => $student){
    if($student['age'] <= 30){
        $keys[] = $key;
    }
}
$students = array_diff_key($students, array_flip($keys));

Dalam blok kod ini, kami menggunakan gelung foreach untuk melintasi setiap elemen dalam tatasusunan $students Jika umur elemen kurang daripada atau sama dengan 30, kunci elemen ialah disimpan ke tatasusunan $keys. Kemudian, kami menggunakan fungsi array_diff_key untuk membandingkan tatasusunan asal dan tatasusunan baharu untuk mendapatkan tatasusunan dua dimensi baharu yang daripadanya semua elemen yang memenuhi syarat telah dipadamkan.

Ringkasan

Fungsi tatasusunan PHP berkuasa, dan kita boleh memilih fungsi yang berbeza untuk menyelesaikan tugasan yang berbeza mengikut keperluan sebenar. Kaedah 1 menggunakan fungsi array_filter dan array_map, dan kodnya agak panjang, tetapi fungsinya lebih berkuasa dan fleksibel; Kaedah 2 menggunakan gelung foreach, kodnya mudah dan mudah difahami, dan sesuai untuk memproses tatasusunan yang lebih kecil. Tidak kira kaedah yang mana, matlamat kami adalah untuk mengalih keluar elemen daripada tatasusunan dua dimensi dan mencapai kesan yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen daripada tatasusunan dua dimensi dalam php. 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