Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk mendapatkan lajur daripada tatasusunan dua dimensi php

Bagaimana untuk mendapatkan lajur daripada tatasusunan dua dimensi php

Apr 18, 2023 am 09:05 AM

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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 Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Apakah amalan terbaik untuk deduplikasi tatasusunan php

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Apakah piawaian pengekodan PHP terkini dan amalan terbaik?

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama?

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Bagaimana saya bekerja dengan sambungan php dan pecl?

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP?

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi?

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP?

See all articles