Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP mengalih keluar nilai daripada tatasusunan dua dimensi

PHP mengalih keluar nilai daripada tatasusunan dua dimensi

WBOY
WBOYasal
2023-05-11 10:14:36490semak imbas

Dalam PHP, tatasusunan ialah jenis data yang kerap digunakan dan tatasusunan dua dimensi adalah lebih biasa. Tatasusunan dua dimensi boleh difahami sebagai tatasusunan yang mengandungi tatasusunan lain, iaitu setiap elemen dalam tatasusunan ialah tatasusunan. Dalam sesetengah kes, kita perlu memadamkan elemen daripada tatasusunan dua dimensi atau menapis nilai tertentu. Artikel ini akan memperkenalkan cara mengalih keluar nilai daripada tatasusunan dua dimensi.

Pertama lihat tatasusunan dua dimensi yang mudah, dengan anggapan ini ialah senarai pelajar, yang mengandungi nama dan umur setiap pelajar:

$students = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 21),
    array("name" => "王五", "age" => 22),
    array("name" => "赵六", "age" => 23)
);

Sekarang kita perlu menambah pelajar berumur 22 Alih Keluar daripada senarai. Ini boleh dicapai dengan menggelung melalui tatasusunan:

foreach ($students as $key => $student) {
    if ($student["age"] == 22) {
        unset($students[$key]);
    }
}

Di sini gelung foreach digunakan untuk merentasi maklumat setiap pelajar Jika umur pelajar bersamaan dengan 22 tahun, gunakan fungsi unset untuk menukar pelajar daripada Padam daripada tatasusunan.

Dalam contoh ini, kami menggunakan pembolehubah $key untuk merekod indeks pelajar semasa, dan kemudian gunakan fungsi unset untuk memadamkan pelajar yang sepadan dengan indeks. Perlu diingat bahawa apabila memadamkan elemen tatasusunan, nilai indeks tatasusunan tidak akan disusun semula mengikut tertib, jadi sebaiknya gunakan gelung foreach untuk melintasi tatasusunan.

Selain menggunakan fungsi unset, anda juga boleh menggunakan fungsi array_filter terbina dalam PHP untuk menapis nilai dalam tatasusunan Sebagai contoh, kita boleh menggunakan kod berikut untuk menapis semua pelajar berumur 22 tahun:

$students = array_filter($students, function($student) {
    return $student["age"] != 22;
});

Fungsi tanpa nama digunakan di sini sebagai parameter kedua fungsi array_filter Fungsi menerima data pelajar dan menapisnya berdasarkan umur pelajar. Jika umur pelajar tidak bersamaan dengan 22 tahun, true akan dikembalikan, jika tidak false akan dikembalikan Fungsi array_filter akan mengekalkan elemen dengan nilai pulangan true, dan elemen dengan a. nilai pulangan false akan ditapis keluar.

Selain menggunakan fungsi array_filter, anda juga boleh menggunakan fungsi array_reduce untuk melaksanakan fungsi penapisan. array_reduceFungsi menerima tiga parameter: tatasusunan yang akan diproses, fungsi panggil balik dan nilai awal. Fungsi panggil balik menerima dua parameter: setiap elemen tatasusunan dan hasil panggilan balik sebelumnya, dan kemudian mengembalikan hasil panggilan balik berikutnya. Sebagai contoh, kod berikut menggunakan fungsi array_reduce untuk menapis pelajar yang berumur 22 tahun:

$students = array_reduce($students, function($result, $student) {
    if ($student["age"] != 22) {
        $result[] = $student;
    }
    return $result;
}, array());

Fungsi tanpa nama digunakan di sini sebagai fungsi panggil balik Fungsi pertama menentukan sama ada umur pelajar adalah sama dengan 22 tahun Jika tidak, , kemudian tambahkan pelajar pada tatasusunan hasil, dan akhirnya kembalikan tatasusunan hasil. array_reduceFungsi menghantar data setiap pelajar ke fungsi panggil balik untuk diproses, dan akhirnya mengembalikan tatasusunan hasil yang ditapis.

Ringkasnya, PHP menyediakan banyak kaedah untuk memproses tatasusunan, termasuk mengalih keluar elemen daripada tatasusunan atau menapis nilai tertentu. Selain kaedah yang dinyatakan di atas, terdapat banyak lagi fungsi terbina dalam PHP yang boleh digunakan. Untuk senario dan keperluan yang berbeza, kaedah yang berbeza boleh dipilih mengikut situasi sebenar.

Atas ialah kandungan terperinci PHP mengalih keluar nilai daripada tatasusunan dua dimensi. 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
Artikel sebelumnya:php mengesan jika array kosongArtikel seterusnya:php mengesan jika array kosong