Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk memadam tatasusunan dua dimensi kosong dalam php
Dalam pengaturcaraan PHP, kita sering menghadapi situasi di mana kita perlu memadam tatasusunan dua dimensi yang kosong. Untuk membantu semua orang lebih memahami masalah ini dan cara menyelesaikannya, artikel ini akan membincangkan secara mendalam kaedah dan teknik memadam tatasusunan dua dimensi kosong dalam PHP.
Sebelum kita mula membincangkan cara memadam tatasusunan dua dimensi yang kosong, kita mesti terlebih dahulu memahami apa itu tatasusunan dua dimensi. Ringkasnya, tatasusunan dua dimensi ialah tatasusunan yang terdiri daripada tatasusunan berbilang satu dimensi. Setiap tatasusunan satu dimensi mewakili koleksi data tertentu, dan tatasusunan dua dimensi menggabungkan tatasusunan satu dimensi ini.
Sebagai contoh, berikut ialah tatasusunan dua dimensi $employee, yang mengandungi tiga tatasusunan satu dimensi, setiap tatasusunan satu dimensi menyimpan maklumat pekerja:
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => 'Jack', 'age' => 28, 'salary' => 8000), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) );
Dalam dua dimensi ini Dalam tatasusunan, setiap tatasusunan satu dimensi ialah tatasusunan dengan tiga elemen, di mana 'nama', 'umur' dan 'gaji' ialah nama kunci, dan 25, 28 dan 24, 6000, 8000 dan 5000 adalah kunci. nilai. Jika kita perlu melintasi tatasusunan dua dimensi ini dan melakukan beberapa operasi, seperti mengeluarkan gaji setiap pekerja, ia boleh dilakukan dengan cara berikut:
foreach($employee as $emp) { echo "The salary of ".$emp['name']." is ".$emp['salary']."<br>"; }
Pernyataan foreach di sini akan merentasi keseluruhan tatasusunan $employee dan Setiap tatasusunan satu dimensi diberikan kepada pembolehubah $emp, dan kemudian gaji setiap pekerja dikeluarkan dalam badan gelung.
Apabila berurusan dengan tatasusunan dua dimensi yang kompleks, kita mungkin menghadapi situasi tatasusunan kosong, iaitu tatasusunan satu dimensi yang sepadan kepada elemen tertentu Tiada pasangan nilai kunci dalam tatasusunan. Keadaan ini bukanlah sesuatu yang luar biasa dalam pemprosesan data, tetapi apabila kami cuba melakukan operasi lain pada tatasusunan dua dimensi ini, tatasusunan kosong boleh menjejaskan keputusan pengiraan dan kecekapan program kami. Oleh itu, tatasusunan dua dimensi yang kosong perlu dipadamkan. Berikut ialah dua cara untuk memadam tatasusunan dua dimensi yang kosong:
Kaedah 1: Gunakan fungsi penapis_tatasusunan
Fungsi tatasusunan_penapis ialah salah satu fungsi tatasusunan yang biasa digunakan dalam PHP elemen dalam tatasusunan, hanya mengekalkan elemen yang memenuhi peraturan yang ditetapkan. Kita boleh memadam tatasusunan kosong dalam tatasusunan dua dimensi melalui fungsi array_filter. Khususnya, fungsi tanpa nama boleh digunakan sebagai parameter pertama array_filter Fungsi ini akan digunakan pada setiap elemen dalam tatasusunan untuk menentukan sama ada untuk mengekalkan elemen.
Sebagai contoh, berikut ialah contoh menggunakan fungsi array_filter untuk memadam tatasusunan 2D kosong:
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => '', 'age' => '', 'salary' => ''), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) ); $result = array_filter($employee, function($emp) { return count(array_filter($emp)) > 0; }); print_r($result);
Dalam contoh ini, kami mentakrifkan tatasusunan 2D bernama $employee yang mengandungi Tiga satu tatasusunan -dimensi. Tatasusunan 1D kedua kosong dan kita perlu memadamkannya. Apabila menggunakan fungsi array_filter, kami lulus fungsi tanpa nama sebagai parameter pertama. Dalam fungsi tanpa nama ini, kami melaksanakan fungsi array_filter pada setiap tatasusunan satu dimensi untuk mengalih keluar elemen kosong. Kemudian, kita membandingkan sama ada masih terdapat unsur dalam tatasusunan satu dimensi Jika terdapat unsur, kembalikan benar, jika tidak kembalikan palsu. Akhir sekali, fungsi array_filter akan menapis tatasusunan kosong berdasarkan nilai pulangan fungsi tanpa nama ini dan mengembalikan tatasusunan bukan kosong.
Kaedah 2: Gunakan gelung foreach
Selain menggunakan fungsi array_filter, kita juga boleh memadam tatasusunan kosong dalam tatasusunan dua dimensi melalui gelung foreach. Secara khusus, kita boleh melintasi keseluruhan tatasusunan dua dimensi dan melakukan penilaian pada setiap tatasusunan satu dimensi Jika bilangan elemen dalam tatasusunan satu dimensi ini ialah 0, padamkannya.
Sebagai contoh, berikut ialah contoh menggunakan gelung foreach untuk memadam tatasusunan dua dimensi kosong:
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => '', 'age' => '', 'salary' => ''), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) ); foreach($employee as $key => $emp) { if(count(array_filter($emp)) == 0) { unset($employee[$key]); } } print_r($employee);
Dalam contoh ini, kami juga mentakrifkan tatasusunan dua dimensi $ pekerja, yang mengandungi tiga tatasusunan satu dimensi. Gunakan gelung foreach untuk melintasi tatasusunan dua dimensi ini dan lakukan operasi penghakiman pada setiap tatasusunan satu dimensi. Kami menggunakan fungsi array_filter untuk menapis elemen kosong dan mendapatkan bilangan elemen yang ditapis. Jika bilangan elemen ialah 0, ini bermakna tatasusunan satu dimensi kosong dan perlu dipadamkan. Kami menggunakan fungsi unset untuk memadamkannya daripada tatasusunan asal. Akhirnya, kami mengeluarkan hasilnya.
Menggunakan tatasusunan dua dimensi dalam PHP ialah operasi yang sangat biasa Apabila berurusan dengan tatasusunan kompleks ini, kadangkala kita perlu memadam tatasusunan kosong untuk mengelakkan tatasusunan kosong berpasangan. Kesan negatif pada pengiraan kami. Dalam artikel ini, kami memperkenalkan dua kaedah untuk memadam tatasusunan dua dimensi kosong dalam PHP, termasuk menggunakan fungsi array_filter dan menggunakan gelung foreach Kedua-dua kaedah mempunyai kelebihan dan kekurangannya sendiri. Kita boleh memilih kaedah yang sesuai dengan keperluan sebenar . Semoga artikel ini bermanfaat kepada semua orang!
Atas ialah kandungan terperinci Bagaimana untuk memadam tatasusunan dua dimensi kosong dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!