Bagaimana untuk menanyakan nilai dalam tatasusunan dua dimensi dalam php

PHPz
Lepaskan: 2023-04-18 10:13:23
asal
2489 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web Ia mempunyai fungsi operasi tatasusunan yang berkuasa. Dalam PHP, tatasusunan adalah salah satu jenis data yang paling penting dan biasa digunakan. Struktur data ini membolehkan pembangun menyimpan satu siri nilai yang berkaitan dan mendapatkan serta memanipulasi nilai tersebut daripadanya.

Dalam PHP, tatasusunan dua dimensi ialah jenis tatasusunan khas di mana setiap elemen tatasusunan mengandungi tatasusunan. Struktur data ini biasanya digunakan untuk menyimpan matriks, jadual dan struktur data kompleks yang lain. Memandangkan tatasusunan dua dimensi mengandungi berbilang tatasusunan, pendekatan berbeza diperlukan semasa membuat pertanyaan.

Artikel ini akan memperkenalkan kaedah yang berbeza untuk menyoal nilai dalam tatasusunan dua dimensi dalam PHP.

Kaedah 1: Gunakan gelung foreach

Dalam PHP, anda boleh melintasi semua elemen tatasusunan dalam tatasusunan dua dimensi menggunakan gelung foreach. Berikut ialah contoh tatasusunan 2D:

$students = array(

array('name' => 'John', 'age' => 20, 'grade' => 'A'),
array('name' => 'Jane', 'age' => 21, 'grade' => 'B'),
array('name' => 'Jim', 'age' => 22, 'grade' => 'C')
Salin selepas log masuk

);

Sekarang, kami ingin mendapatkan semula nama " pelajar Jim.

Kita boleh menggunakan gelung foreach untuk melingkari setiap pelajar dan menyemak sama ada nama mereka ialah "Jim". Jika padanan ditemui, gred pelajar boleh dikembalikan. Berikut ialah contoh kod untuk melaksanakan kaedah ini:

foreach ($pelajar sebagai $pelajar) {

if ($student['name'] == 'Jim') {
    echo $student['grade'];
    break;
}
Salin selepas log masuk

}

Dalam kod di atas, kami mengulang $ Setiap elemen dalam tatasusunan pelajar dan berikannya kepada tatasusunan baharu bernama $student. Seterusnya, kami menyemak sama ada kunci "nama" dalam $pelajar adalah sama dengan "Jim". Jika padanan ditemui, gunakan arahan gema untuk mengeluarkan nilai "gred" pelajar.

Perlu diambil perhatian bahawa memandangkan gelung foreach merentasi keseluruhan tatasusunan, apabila nilai yang diperlukan ditemui, kita perlu menggunakan perintah break untuk menghentikan carian. Kelemahan yang jelas bagi pendekatan ini ialah ia bergelung pada keseluruhan tatasusunan, dan boleh menyebabkan isu prestasi dalam tatasusunan besar.

Kaedah 2: Gunakan gelung for

Cara lain untuk menanyakan nilai dalam tatasusunan dua dimensi ialah menggunakan gelung for. Kaedah ini lebih pantas daripada menggunakan gelung foreach, dan kerana kita tahu kedudukan tatasusunan yang kita cari, lelaran gelung yang tidak perlu boleh dilangkau. Berikut ialah kod contoh untuk melaksanakan kaedah ini menggunakan gelung for:

for ($i = 0; $i < count($students); $i++) {

if ($students[$i]['name'] == 'Jim') {
    echo $students[$i]['grade'];
    break;
}
Salin selepas log masuk

}

Dalam coretan kod di atas, kami menggunakan gelung for untuk lelaran melalui setiap elemen dalam tatasusunan $students dan menggunakan pembolehubah $i untuk menjejaki lelaran semasa. Kami menyemak sama ada kunci "nama" setiap pelajar adalah sama dengan "Jim" dan jika padanan ditemui, kami menggunakan arahan gema untuk mengeluarkan nilai "gred" untuk pelajar tersebut.

Perlu diambil perhatian bahawa keadaan $i < count($students) digunakan untuk menyemak bahawa gelung tidak melebihi julat tatasusunan. Kami menggunakan perintah break untuk menghentikan gelung apabila kami menemui nilai yang diperlukan.

Kaedah 3: Gunakan fungsi array_column

Terdapat fungsi mudah dalam PHP yang dipanggil array_column(), yang boleh digunakan untuk mengembalikan nilai lajur tunggal daripada tatasusunan. Fungsi ini menerima dua parameter: tatasusunan dan nama lajur untuk dikembalikan. Berikut ialah kod sampel untuk menggunakan fungsi array_column() untuk mengembalikan lajur "gred" daripada tatasusunan $pelajar di atas:

$gred = array_column($pelajar, 'gred');

Sekarang, Kita boleh mencari nilai yang diperlukan hanya dengan menyemak sama ada tatasusunan $grades yang dikembalikan mengandungi nilai tertentu. Berikut ialah contoh kod untuk melaksanakan kaedah ini:

$student_name = 'Jim';
$grades = array_column($students, 'gred', 'name');
if (array_key_exists( $ student_name, $grades)) {

echo $grades[$student_name];
Salin selepas log masuk

}

Dalam kod ini, gunakan fungsi array_column() untuk mendapatkan lajur "gred" dalam tatasusunan $students dan gunakan lajur "nama" Mencipta tatasusunan bersekutu $gred sebagai kunci. Seterusnya, kami menyemak sama ada tatasusunan $grades mengandungi kunci tertentu (iaitu nama pelajar) dan mengeluarkan nilai "gred" yang sepadan.

Ringkasan

Dalam PHP, terdapat banyak cara berbeza untuk menanyakan nilai dalam tatasusunan dua dimensi. Dalam artikel ini, kami merangkumi tiga kaedah yang paling biasa: menggunakan gelung foreach, menggunakan gelung for dan menggunakan fungsi array_column().

Menggunakan foreach atau for loop sesuai untuk tatasusunan kecil atau tatasusunan besar yang memerlukan keupayaan carian yang lebih berkuasa. Sebaliknya, fungsi array_column() lebih sesuai untuk menapis satu lajur. Dalam pembangunan sebenar, pembangun boleh memilih kaedah yang sesuai untuk menanyakan nilai dalam tatasusunan dua dimensi mengikut keperluan khusus.

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

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan