Dalam PHP, tatasusunan dua dimensi biasanya disimpan sebagai koleksi data yang berkaitan. Untuk jenis struktur data ini, anda boleh menggelung melalui setiap elemen tatasusunan dan kemudian menggunakan pengendali indeks tatasusunan untuk mengakses nilai setiap elemen. Jika anda hanya perlu mengakses medan tertentu, anda boleh menggunakan fungsi array_column() atau menyesuaikan fungsi traversal.
1. Gunakan fungsi array_column()
Fungsi array_column() boleh mendapatkan nilai medan dalam tatasusunan yang ditentukan dan mengembalikannya sebagai tatasusunan baharu. Senarai parameter adalah seperti berikut:
array_column(array $input, mixed $column_key, mixed $index_key = null): array
Perihalan parameter:
Contoh berikut menunjukkan cara menggunakan fungsi array_column() untuk mendapatkan medan yang ditentukan dalam tatasusunan dua dimensi:
// 二维数组 $data = array( array('id'=>1, 'name'=>'Alice', 'age'=>20), array('id'=>2, 'name'=>'Bob', 'age'=>23), array('id'=>3, 'name'=>'Charlie', 'age'=>25), ); // 获取名字字段值 $names = array_column($data, 'name'); print_r($names); // 输出 ['Alice', 'Bob', 'Charlie'] // 获取id和名字作为键的新数组 $new_data = array_column($data, 'age', 'name'); print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]
2 >Jika anda perlu mendapatkan Jika medan tidak mempunyai kedudukan tetap, atau jika anda perlu menyesuaikan operasi yang kompleks, anda boleh menyesuaikan fungsi traversal untuk melaksanakannya. Berikut ialah contoh kod untuk fungsi traversal:
// 自定义一个遍历函数 function get_field_from_array($data,$field){ $result = array(); foreach($data as $item){ if(array_key_exists($field,$item)){ $result[] = $item[$field]; } } return $result; } // 二维数组 $data = array( array('id'=>1, 'name'=>'Alice', 'age'=>20), array('id'=>2, 'name'=>'Bob', 'age'=>23), array('id'=>3, 'name'=>'Charlie', 'age'=>25), ); // 获取名字字段值 $names = get_field_from_array($data,'name'); print_r($names); //输出 ['Alice', 'Bob', 'Charlie'] // 获取id字段值 $ids = get_field_from_array($data,'id'); print_r($ids); //输出 [1, 2, 3]
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan medan tatasusunan dua dimensi dalam PHP backend. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!