Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam pasangan nilai nol dalam tatasusunan dua dimensi dalam php
Apabila membangun dengan PHP, anda sering menghadapi keperluan untuk mengendalikan tatasusunan. Array ialah struktur data biasa dan juga digunakan secara meluas dalam PHP. Tatasusunan dua dimensi ialah jenis tatasusunan khas yang unsur-unsurnya juga tatasusunan. Dalam pembangunan sebenar, kadangkala kita perlu memadamkan pasangan nilai nol dalam tatasusunan dua dimensi, yang memerlukan penggunaan beberapa fungsi tatasusunan PHP untuk mencapainya.
1. Apakah tatasusunan dua dimensi
Jika unsur tatasusunan juga merupakan tatasusunan, maka tatasusunan itu ialah tatasusunan dua dimensi. Dalam PHP, tatasusunan dua dimensi boleh ditakrifkan seperti berikut:
$arr = array( array(1,2,3), array(4,5,6), array(7,8,9) );
Kod di atas mencipta tatasusunan dua dimensi yang mengandungi 3 elemen, setiap elemen ialah tatasusunan satu dimensi yang mengandungi 3 elemen .
2. Padamkan pasangan nilai nol dalam tatasusunan dua dimensi
Dalam pembangunan sebenar, kadangkala kita perlu memadamkan pasangan nilai nol dalam tatasusunan dua dimensi. Pasangan nilai nol yang dipanggil bermakna bahawa nilai yang sepadan dengan kunci dalam tatasusunan ialah rentetan kosong, nol, 0 atau tiada nilai. Kita boleh menggunakan pelbagai fungsi tatasusunan PHP untuk mencapai tujuan ini.
Fungsi array_filter boleh digunakan untuk menapis semua pasangan nilai nol dalam tatasusunan parameter pertamanya ialah array yang perlu ditapis. Kedua-dua parameter ialah fungsi panggil balik yang digunakan untuk menapis setiap elemen dalam tatasusunan.
function filterEmpty($arr) { foreach($arr as $key=>$value) { if(is_array($value)) { $arr[$key] = filterEmpty($value); } } return array_filter($arr); } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); $arr = filterEmpty($arr); var_dump($arr);
Kod di atas mentakrifkan fungsi filterEmpty untuk menapis pasangan nilai nol dalam tatasusunan dua dimensi Ia menggunakan fungsi rekursif untuk melintasi setiap elemen dalam tatasusunan fungsi filterEmpty dipanggil. Seterusnya, gunakan fungsi array_filter untuk menapis setiap elemen untuk mendapatkan tatasusunan yang tidak mengandungi pasangan nilai nol.
Fungsi array_walk boleh mengulang setiap elemen dalam tatasusunan dan melaksanakan operasi khusus padanya. Kita boleh menentukan fungsi panggil balik untuk menilai setiap elemen dan memadam pasangan nilai nol.
function walkEmpty(&$value, $key) { if(is_array($value)) { $value = array_filter($value); } if(empty($value)) { unset($value); } } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); array_walk($arr, 'walkEmpty'); var_dump($arr);
Kod di atas mentakrifkan fungsi walkEmpty sebagai fungsi panggil balik dan menggunakan fungsi array_walk untuk melintasi setiap elemen dalam tatasusunan $arr dan menilainya. Jika elemen ialah tatasusunan, mula-mula gunakan fungsi array_filter untuk menapis pasangan nilai nol dalam tatasusunan. Seterusnya, tentukan sama ada elemen kosong Jika ia kosong, gunakan fungsi unset untuk memadamkan elemen daripada tatasusunan.
Kita juga boleh menggunakan gelung foreach untuk melintasi tatasusunan dan menilai setiap elemen.
function deleteEmpty($arr) { foreach($arr as $key=>$value) { if(is_array($value)) { $arr[$key] = deleteEmpty($value); } if(empty($value)) { unset($arr[$key]); } } return $arr; } $arr = array( array(1,'',3), array(4,5,''), array(0,8,null) ); $arr = deleteEmpty($arr); var_dump($arr);
Kod di atas mentakrifkan fungsi deleteEmpty, yang menggunakan gelung foreach untuk melintasi setiap elemen dalam tatasusunan $arr dan menilainya. Jika elemen ialah tatasusunan, panggil fungsi deleteEmpty itu sendiri untuk meneruskan merentasi. Seterusnya, tentukan sama ada elemen kosong Jika ia kosong, gunakan fungsi unset untuk memadamkan elemen daripada tatasusunan.
3. Ringkasan
Tatasusunan dua dimensi ialah struktur data biasa yang sering digunakan dalam pembangunan PHP. Memadam pasangan nilai nol dalam tatasusunan dua dimensi juga merupakan operasi biasa Artikel di atas memperkenalkan tiga kaedah pelaksanaan, menggunakan fungsi array_filter, fungsi array_walk dan gelung foreach untuk melintasi tatasusunan. Kita boleh memilih kaedah yang sesuai dengan kita berdasarkan keperluan khusus kita.
Atas ialah kandungan terperinci Bagaimana untuk memadam pasangan nilai nol dalam tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!