Dalam pembangunan PHP, tatasusunan selalunya perlu diproses dan mengalih keluar nilai nol dalam tatasusunan ialah keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk mengalih keluar nilai nol dalam tatasusunan dua dimensi.
Pertama sekali, kita perlu memahami konsep tatasusunan dua dimensi. Tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada set tatasusunan Setiap tatasusunan juga dipanggil tatasusunan satu dimensi Setiap tatasusunan satu dimensi menyimpan berbilang elemen secara dalaman. Dalam PHP, kita boleh menggunakan kaedah berikut untuk mentakrifkan tatasusunan dua dimensi:
$array = array( array("apple", "banana", "", "orange"), array("pear", "", "watermelon", "pineapple"), array("grape", "lemon", "mango", ""), );
Kod di atas mentakrifkan tatasusunan dua dimensi yang mengandungi tiga tatasusunan satu dimensi Setiap tatasusunan satu dimensi menyimpan beberapa elemen, yang mungkin mengandungi nilai nol. Kini kita perlu mengalih keluar semua nilai nol dalam tatasusunan dua dimensi ini. Operasi khusus adalah seperti berikut.
Kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi dan mengeluarkan setiap tatasusunan satu dimensi untuk operasi. Kodnya adalah seperti berikut:
foreach($array as $k=>$v){ //操作每个一维数组 }
Dalam kod di atas, $array mewakili tatasusunan dua dimensi yang akan dilalui, $k mewakili subskrip tatasusunan satu dimensi yang sedang dilalui dan $v mewakili satu tatasusunan -dimensi sedang dilalui.
Kita boleh menggunakan fungsi array_filter untuk mengalih keluar nilai nol dalam tatasusunan satu dimensi. Fungsi array_filter mengembalikan tatasusunan baharu dengan semua nilai nol dalam tatasusunan asal dialih keluar. Kodnya adalah seperti berikut:
$newArr = array_filter($v);
Dalam kod di atas, $v mewakili tatasusunan satu dimensi yang sedang dilalui dan $newArr mewakili tatasusunan baharu selepas mengalih keluar nilai nol.
Kita perlu menetapkan tatasusunan baharu selepas mengalih keluar nilai nol ke kedudukan yang sepadan dalam tatasusunan asal untuk mencapai Alih keluar nilai nol daripada tatasusunan dua dimensi. Kodnya adalah seperti berikut:
$array[$k] = $newArr;
Dalam kod di atas, $k mewakili subskrip tatasusunan satu dimensi yang sedang dilalui, $newArr mewakili tatasusunan baharu selepas mengalih keluar nilai nol, $array[$k] mewakili tatasusunan dua dimensi asal Tatasusunan satu dimensi kedudukan sepadan dalam.
Ringkasnya, kita boleh menulis kod lengkap seperti berikut:
$array = array( array("apple", "banana", "", "orange"), array("pear", "", "watermelon", "pineapple"), array("grape", "lemon", "mango", ""), ); foreach($array as $k=>$v){ //去除一维数组中的空值 $newArr = array_filter($v); //将新数组赋值给原数组中的对应位置 $array[$k] = $newArr; }
Kod di atas akan mengalih keluar tatasusunan dua dimensi nilai NULL dan simpan hasilnya dalam tatasusunan asal. Keputusan yang dijalankan adalah seperti berikut:
Array ( [0] => Array ( [0] => apple [1] => banana [2] => orange ) [1] => Array ( [0] => pear [1] => watermelon [2] => pineapple ) [2] => Array ( [0] => grape [1] => lemon [2] => mango ) )
Di atas ialah kaedah mengalih keluar nilai nulldalam tatasusunan dua dimensi yang diperkenalkan dalam artikel ini.
Atas ialah kandungan terperinci PHP mengalih keluar nilai nol daripada tatasusunan dua dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!