Dalam PHP, tatasusunan dua dimensi ialah struktur data yang sangat biasa digunakan. Apabila melakukan operasi tatasusunan dua dimensi, kadangkala perlu memadamkan data dalam lajur tertentu, dan keadaan ini berlaku agak kerap. Jadi, bagaimana untuk memadam data lajur tertentu dalam tatasusunan dua dimensi php? Artikel ini akan memperkenalkan perkara ini secara terperinci.
Kaedah pemadaman 1: Gunakan gelung foreach untuk memadam lajur tertentu
Dalam PHP, kita boleh menggunakan gelung foreach untuk melintasi tatasusunan dua dimensi dan memadam lajur yang ditentukan semasa proses traversal. Idea khusus adalah seperti berikut:
1. Keluarkan setiap lajur tatasusunan melalui gelung foreach.
2. Gunakan fungsi yang tidak ditetapkan untuk memadamkan lajur yang ditentukan.
3. Susun semula lajur yang dipadamkan ke dalam tatasusunan.
Contoh kod:
$arr=array( array('id'=>1,'name'=>'张三','age'=>18), array('id'=>2,'name'=>'李四','age'=>19), array('id'=>3,'name'=>'王五','age'=>20) ); foreach($arr as &$v){ unset($v['name']); //删除某一列 } unset($v); //重置$v的引用 print_r($arr);
Padam kaedah dua: Gunakan fungsi array_map untuk memadam lajur tertentu
Dalam PHP, kita juga boleh menggunakan fungsi array_map untuk memadam lajur tertentu . Idea khusus adalah seperti berikut:
1 Gunakan fungsi peta_tatasusunan untuk beroperasi pada setiap elemen tatasusunan (iaitu, setiap baris) dan padam lajur yang ditentukan.
2. Bina semula tatasusunan yang dipadamkan kepada tatasusunan baharu.
Contoh kod:
$arr=array( array('id'=>1,'name'=>'张三','age'=>18), array('id'=>2,'name'=>'李四','age'=>19), array('id'=>3,'name'=>'王五','age'=>20) ); //回调函数:删除某一列 function delete_col($arr,$key){ unset($arr[$key]); return array_values($arr); } $new_arr=array_map('delete_col',$arr,array_fill(0,count($arr),'name')); print_r($new_arr);
Perihalan kod:
Peranan fungsi array_map() adalah untuk memanggil semula fungsi untuk setiap elemen tatasusunan dan mengembalikan tatasusunan baharu. Di sini, fungsi panggil balik kami ialah fungsi delete_col(), yang menerima dua parameter: tatasusunan dan kunci lajur yang akan dipadamkan (iaitu, lajur nama). Dalam badan fungsi, kami menggunakan unset() untuk memadamkan lajur yang ditentukan, kemudian gunakan array_values() untuk menyusun semula kunci tatasusunan, dan akhirnya mengembalikan tatasusunan baharu.
Padam kaedah tiga: Gunakan fungsi array_column untuk memadam lajur tertentu
Dalam php, kita juga boleh menggunakan fungsi array_column untuk memadam lajur tertentu. Idea khusus adalah seperti berikut:
1. Mula-mula gunakan fungsi array_column untuk mendapatkan nilai lajur yang ditentukan.
2. Gunakan fungsi array_diff untuk memadam nilai lajur yang diperoleh daripada tatasusunan asal.
Contoh kod:
$arr=array( array('id'=>1,'name'=>'张三','age'=>18), array('id'=>2,'name'=>'李四','age'=>19), array('id'=>3,'name'=>'王五','age'=>20) ); $column=array_column($arr,'name'); //获取指定列 $new_arr=array_map(function($v) use($column){ return array_diff_key($v,$column); //删除指定列 },$arr); print_r($new_arr);
Perihalan kod:
Fungsi array_column() adalah untuk mengembalikan lajur yang ditentukan dalam tatasusunan. Oleh itu, apa yang disimpan dalam tatasusunan $column ialah lajur nama dalam tatasusunan dua dimensi. Kemudian, kami menggunakan fungsi array_map untuk melintasi tatasusunan asal, gunakan fungsi array_diff_key untuk memadamkan lajur yang ditentukan daripada tatasusunan asal, dan akhirnya mengembalikan tatasusunan baharu.
Ringkasan
Untuk operasi pemadaman lajur dalam tatasusunan dua dimensi php, kita boleh menggunakan gelung foreach, fungsi peta_susun atau fungsi lajur_tatasusunan untuk mencapainya. Dalam operasi sebenar, kita boleh memilih kaedah yang sesuai mengikut senario tertentu untuk mencapai hasil yang cekap dan mudah.
Atas ialah kandungan terperinci Bagaimana untuk memadam lajur data tertentu daripada tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!