Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan lajur daripada tatasusunan dua dimensi php

Bagaimana untuk mendapatkan lajur daripada tatasusunan dua dimensi php

PHPz
PHPzasal
2023-04-18 09:05:481076semak imbas

Dalam bahasa PHP, tatasusunan ialah struktur data yang biasa digunakan. Tatasusunan dua dimensi bermakna setiap elemen dalam tatasusunan juga merupakan tatasusunan. Semasa memproses tatasusunan dua dimensi, kadangkala anda perlu mengalih keluar lajur tertentu Artikel ini akan memperkenalkan cara mengalih keluar lajur tatasusunan dua dimensi dalam PHP.

1. Gunakan gelung traversal

untuk mengeluarkan lajur tatasusunan dua dimensi Cara paling mudah ialah menggunakan gelung untuk melintasi tatasusunan. Anda boleh mengulangi lajur semua elemen dalam tatasusunan dahulu, dan kemudian menggabungkan lajur ini menjadi tatasusunan baharu. Kod berikut ialah contoh:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array(); 
foreach ($students as $student) { 
    $scores[] = $student['score']; 
} 

print_r($scores);

Kod di atas akan mengeluarkan lajur skor semua elemen dalam tatasusunan dua dimensi $pelajar dan membentuknya menjadi tatasusunan $skor baharu. Di sini gelung foreach digunakan untuk melintasi tatasusunan, nilai skor yang sepadan dikeluarkan untuk setiap elemen tatasusunan dan ditambah pada tatasusunan $skor baharu.

2. Gunakan fungsi array_column

PHP menyediakan fungsi array_column, yang boleh mengekstrak lajur tatasusunan dua dimensi dengan mudah. Kod sampel adalah seperti berikut:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array_column($students, 'score'); 

print_r($scores);

Kod di atas menggunakan fungsi array_column untuk mengeluarkan lajur skor semua elemen dalam tatasusunan dua dimensi $pelajar dan membentuknya menjadi tatasusunan $skor baharu. Antaranya, parameter pertama ialah tatasusunan dua dimensi, dan parameter kedua ialah nama lajur yang akan diekstrak.

Perlu diambil perhatian bahawa fungsi array_column memerlukan PHP versi 5.5.0 dan ke atas, jika tidak, ralat akan dilaporkan.

3. Gunakan fungsi array_map

Selain fungsi array_column, anda juga boleh menggunakan fungsi array_map untuk mengekstrak lajur daripada tatasusunan dua dimensi. Kod berikut ialah contoh:

$students = array( 
array('name'=>'Alice', 'age'=>18, 'score'=>89), 
array('name'=>'Bob', 'age'=>19, 'score'=>92), 
array('name'=>'Cathy', 'age'=>18, 'score'=>91), 
array('name'=>'David', 'age'=>20, 'score'=>87), 
); 

$scores = array_map(function($student) { 
    return $student['score']; 
}, $students); 

print_r($scores);

Kod di atas menggunakan fungsi array_map untuk mengeluarkan lajur skor semua elemen dalam tatasusunan dua dimensi $pelajar dan membentuknya menjadi tatasusunan $skor baharu. Antaranya, parameter pertama ialah fungsi panggil balik, dan parameter kedua ialah tatasusunan yang akan dikendalikan.

Perlu diambil perhatian bahawa kecekapan fungsi array_map adalah agak rendah dan boleh menyebabkan masalah prestasi apabila memproses tatasusunan berskala besar.

Antara beberapa cara untuk mendapatkan semula lajur, kaedah yang paling biasa ialah menggunakan fungsi array_column. Selain mengambil lajur, fungsi lajur_tatasusunan juga boleh mengambil nilai lajur yang ditentukan untuk membentuk tatasusunan baharu, dan boleh menggunakan lajur indeks lain sebagai kunci tatasusunan baharu. Fungsi-fungsi ini sangat praktikal dan boleh meningkatkan kecekapan dalam pembangunan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan lajur daripada tatasusunan dua dimensi php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn