Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menentukan sama ada nilai berada dalam id dalam tatasusunan dua dimensi

PHP menentukan sama ada nilai berada dalam id dalam tatasusunan dua dimensi

WBOY
WBOYasal
2023-05-23 15:21:38478semak imbas

Untuk pembangun PHP, memanipulasi tatasusunan ialah salah satu tugas yang sangat biasa dalam kerja harian mereka. Dalam banyak kes, kita perlu mencari nilai tertentu dalam tatasusunan dua dimensi yang mengandungi banyak tatasusunan lain. Artikel ini akan memperkenalkan pembaca kepada cara untuk menentukan sama ada nilai itu berada dalam id dalam tatasusunan dua dimensi dalam PHP.

Pertama, mari kita lihat apakah tatasusunan dua dimensi. Ringkasnya, tatasusunan dua dimensi ialah tatasusunan yang mengandungi pelbagai tatasusunan. Setiap tatasusunan dalam mempunyai kunci dan nilainya sendiri, biasanya kita boleh menggunakan dua kekunci: kunci pertama digunakan untuk mengakses tatasusunan dalam dalam tatasusunan luar, dan kunci kedua digunakan untuk mengakses nilai dalam tatasusunan dalam. Contohnya:

$employees = array(
   array("id" => 101, "name" => "John"),
   array("id" => 102, "name" => "Mary"),
   array("id" => 103, "name" => "Peter")
);

Dalam contoh di atas, $employees ialah tatasusunan 2D yang mengandungi tiga tatasusunan dalaman. Setiap tatasusunan dalaman mempunyai dua kunci (id dan nama) dengan nilai 101/John, 102/Mary dan 103/Peter.

Sekarang, andaikan kita ingin mencari sama ada nilai id tertentu wujud dalam tatasusunan di atas, kita boleh menggunakan gelung foreach dalam PHP untuk mencarinya. Berikut ialah contoh kod:

$found = false;
$search_id = 102;
foreach ($employees as $employee) {
    if ($employee['id'] === $search_id) {
        $found = true;
        break;
    }
}
if ($found) {
    echo "The ID is in the array";
} else {
    echo "The ID isn't in the array";
}

Dalam contoh ini, kita mula-mula mentakrifkan pembolehubah $found dan memulakannya kepada false. Kami kemudian mentakrifkan pembolehubah $search_id dan menetapkan nilai id khusus yang kami cari. Seterusnya, kami menggunakan gelung foreach untuk menggelung melalui tatasusunan $employees dan menggunakan pernyataan if untuk menyemak sama ada kunci id setiap tatasusunan dalam adalah sama dengan $search_id. Jika padanan ditemui, kami menetapkan pembolehubah $found kepada benar dan menggunakan pernyataan putus untuk keluar dari gelung. Akhir sekali, kami menyemak nilai pembolehubah $found untuk menentukan sama ada nilai id tertentu berada dalam tatasusunan.

Walaupun kaedah ini agak mudah, kaedah ini mungkin mempunyai beberapa masalah prestasi dengan tatasusunan dua dimensi yang besar. Terutamanya jika carian diperlukan dengan kerap, melakukan traverse tatasusunan penuh setiap kali boleh merendahkan prestasi aplikasi anda. Untuk mengelakkan masalah ini, kita boleh menggunakan fungsi array_column dan fungsi in_array dalam PHP. Fungsi

array_column ialah fungsi PHP yang sangat berguna yang mengembalikan tatasusunan baharu daripada tatasusunan input yang mengandungi nilai kunci yang ditentukan. Jadi, jika kita ingin mengekstrak nilai id daripada tatasusunan $employees di atas, kita boleh menggunakan kod berikut:

$ids = array_column($employees, 'id');

Dalam contoh di atas, kami menghantar tatasusunan $employees sebagai parameter pertama kepada array_column fungsi dan Lulus id sebagai parameter kedua. Ia akan mengembalikan tatasusunan baharu yang mengandungi semua nilai id dalam tatasusunan dalaman $employees.

Seterusnya, kita boleh menggunakan fungsi in_array untuk menentukan sama ada nilai khusus yang kita cari adalah dalam tatasusunan $ids. Berikut ialah contoh kod:

$search_id = 102;
if (in_array($search_id, $ids)) {
    echo "The ID is in the array";
} else {
    echo "The ID isn't in the array";
}

Dalam contoh ini, kami mula-mula mentakrifkan pembolehubah $search_id dan menetapkan nilai id khusus yang kami cari. Kami kemudian menggunakan fungsi in_array untuk menyemak sama ada $search_id wujud dalam tatasusunan $ids. Jika padanan ditemui, mesej "ID dalam tatasusunan" adalah output, sebaliknya mesej "ID tiada dalam tatasusunan" adalah output.

Untuk meringkaskan, mencari nilai khusus dalam tatasusunan 2D ialah tugas yang sangat biasa untuk pembangun PHP. Artikel ini menerangkan dua kaedah: menggunakan gelung foreach untuk traversal tatasusunan penuh dan menggunakan fungsi lajur_tatasusunan dan fungsi_tatasusunan. Mana-mana kaedah yang anda gunakan, anda harus memastikan prestasi dan kebolehbacaan program anda.

Atas ialah kandungan terperinci PHP menentukan sama ada nilai berada dalam id dalam tatasusunan dua dimensi. 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