Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyemak sama ada array wujud dalam php

Bagaimana untuk menyemak sama ada array wujud dalam php

PHPz
PHPzasal
2023-04-18 09:06:28704semak imbas

Dalam bidang pengaturcaraan, tatasusunan ialah jenis data yang sangat penting dan sering digunakan untuk menyimpan nilai berbilang pembolehubah. Apabila bekerja dengan tatasusunan, anda sering perlu bertanya sama ada nilai tertentu wujud di dalamnya. Artikel ini akan memperkenalkan secara terperinci cara menggunakan bahasa PHP untuk bertanya sama ada tatasusunan mengandungi nilai tertentu dan memberikan beberapa contoh untuk membantu pembaca memahami dengan lebih baik.

Bahagian 1: Fungsi in_array() dalam PHP

PHP menyediakan fungsi terbina dalam dipanggil in_array(), yang boleh membantu kami mengesan dengan cepat sama ada tatasusunan wujud nilai yang ditentukan.

Penggunaan asas bagi fungsi in_array() adalah seperti berikut:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Antaranya, $needle mewakili nilai yang hendak disoal, $haystack mewakili tatasusunan untuk disoal, dan $strict ialah parameter pilihan , menunjukkan sama ada hendak menggunakan mod ketat untuk perbandingan. Jika hujah ketat adalah BENAR, fungsi in_array() membandingkan kedua-dua nilai dan jenis, jika tidak, hanya nilai dibandingkan.

Dalam penggunaan sebenar, kita boleh menyemak sama ada tatasusunan mengandungi nilai yang ditentukan melalui kod berikut:

$fruits = array('apple', 'banana', 'orange');
if (in_array('apple', $fruits)) {
    echo 'The fruit is found in the array';
}

Dalam kod di atas, kami mentakrifkan tatasusunan $fruits, Kemudian gunakan in_array () berfungsi untuk bertanya sama ada ia mengandungi rentetan 'epal'. Jika ia wujud, keluarkan 'Buah ditemui dalam tatasusunan'.

Bahagian 2: Menggunakan fungsi array_search()

Selain fungsi in_array(), PHP juga menyediakan satu lagi fungsi terbina dalam yang dipanggil array_search(). Fungsi ini boleh digunakan untuk mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kunci yang sepadan.

Penggunaan asas bagi fungsi array_search() adalah seperti berikut:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

Antaranya, $needle mewakili nilai yang ingin ditanya, $haystack mewakili tatasusunan yang akan ditanya, dan $strict ialah parameter pilihan , menunjukkan sama ada hendak menggunakan mod ketat untuk perbandingan. Jika hujah ketat adalah BENAR, fungsi array_search() membandingkan kedua-dua nilai dan jenis, jika tidak, hanya nilai dibandingkan.

Dalam penggunaan sebenar, kita boleh menggunakan kod berikut untuk menyemak sama ada tatasusunan mengandungi nilai yang ditentukan dan mendapatkan nama kunci yang sepadan dengan nilai:

$fruits = array('apple', 'banana', 'orange');
$key = array_search('banana', $fruits);
if ($key !== false) {
    echo 'The key of the fruit is ' . $key;
}

Dalam kod di atas, kami tentukan tatasusunan $fruits, dan kemudian gunakan fungsi array_search() untuk bertanya sama ada ia mengandungi rentetan 'banana'. Jika ia wujud, dapatkan nama kunci yang sepadan dengan nilai dan keluaran 'Kunci buah ialah '.

Perlu diambil perhatian bahawa jika fungsi array_search() tidak menemui nama kunci yang sepadan, ia akan mengembalikan FALSE. Oleh itu, untuk mengelakkan ralat, lebih baik menggunakan operator sama (===) untuk menyemak kedua-dua jenis dan nilai semasa menyemak nilai pulangan.

Bahagian 3: Perbezaan antara menggunakan fungsi in_array() dan array_search()

Walaupun kedua-dua fungsi in_array() dan array_search() boleh digunakan untuk menyemak sama ada array mengandungi nilai yang ditentukan , tetapi masih terdapat beberapa perbezaan antara mereka.

Pertama sekali, fungsi in_array() hanya akan mengembalikan nilai Boolean yang menunjukkan sama ada nilai yang ditentukan wujud dalam tatasusunan. Fungsi array_search() akan mengembalikan nama kunci yang sepadan dengan nilai, atau FALSE jika nama kunci yang sepadan tidak dijumpai.

Kedua, fungsi in_array() hanya boleh menyemak nilai, bukan nama kunci. Fungsi array_search() boleh menyemak nama kunci dan nilai pada masa yang sama dan mengembalikan nama kunci yang sepadan dengan nilai.

Oleh itu, dalam penggunaan sebenar, anda perlu memilih untuk menggunakan fungsi in_array() atau fungsi array_search() mengikut keperluan khusus.

Bahagian 4: Contoh Demonstrasi

Beberapa contoh disediakan di bawah untuk membantu pembaca memahami dengan lebih baik cara menggunakan fungsi in_array() dan array_search().

  • Contoh 1: Semak sama ada tatasusunan integer mengandungi nilai yang ditentukan

Kod berikut menunjukkan cara menyemak sama ada tatasusunan integer mengandungi nilai yang ditentukan:

$numbers = array(1, 2, 3, 4, 5);
if (in_array(3, $numbers)) {
    echo 'The value is found in the array';
}

Dalam kod di atas, kami mentakrifkan tatasusunan $numbers, dan kemudian gunakan fungsi in_array() untuk menyemak sama ada ia mengandungi integer 3. Jika ia wujud, keluarkan 'Nilai ditemui dalam tatasusunan'.

  • Contoh 2: Semak sama ada tatasusunan rentetan mengandungi nilai yang ditentukan dan dapatkan nama kuncinya

Kod berikut menunjukkan cara menyemak tatasusunan rentetan Sama ada ia mengandungi yang ditentukan value dan mendapat nama kuncinya:

$words = array('hello', 'world', 'php');
$key = array_search('php', $words);
if ($key !== false) {
    echo 'The key of the word is ' . $key;
}

Dalam kod di atas, kami mentakrifkan tatasusunan $words, dan kemudian gunakan fungsi array_search() untuk menyemak sama ada ia mengandungi rentetan 'php'. Jika ia wujud, dapatkan nama kunci yang sepadan dengan rentetan dan keluarkan 'Kunci perkataan ialah '.

  • Contoh 3: Cari nilai yang ditentukan dalam tatasusunan berbilang dimensi

Kod berikut menunjukkan cara mencari nilai yang ditentukan dalam tatasusunan berbilang dimensi:

$fruits = array(
    array('name' => 'apple', 'color' => 'red'),
    array('name' => 'banana', 'color' => 'yellow'),
    array('name' => 'orange', 'color' => 'orange')
);
$fruit = 'banana';
$found = false;
foreach ($fruits as $key => $value) {
    if (in_array($fruit, $value)) {
        $found = true;
        echo 'The fruit is found in the array with key ' . $key;
        break;
    }
}
if (!$found) {
    echo 'The fruit is not found in the array';
}

Dalam kod di atas, kami mentakrifkan tatasusunan berbilang dimensi $fruits, yang mengandungi beberapa maklumat buah-buahan Setiap maklumat buah termasuk dua medan: nama dan warna. Kami kemudian menggunakan gelung foreach untuk menggelungkan keseluruhan tatasusunan dan menggunakan fungsi in_array() untuk mencari sama ada tatasusunan mengandungi nama buah yang ditentukan oleh $fruit. Jika buah yang sepadan ditemui, nama utama buah dalam tatasusunan adalah output. Jika tidak, keluarkan 'Buah tidak ditemui dalam tatasusunan'.

Bahagian 5: Ringkasan

Artikel ini memperkenalkan dua kaedah dalam PHP untuk bertanya sama ada nilai yang ditentukan wujud dalam tatasusunan: in_array() dan array_search() fungsi. Dalam penggunaan sebenar, kita mesti memilih kaedah yang sesuai mengikut keperluan khusus, dan memberi perhatian kepada menggunakan mod yang ketat untuk pertimbangan jenis. Pada masa yang sama, kami juga menyediakan beberapa contoh untuk membantu pembaca menguasai penggunaan kedua-dua kaedah ini dengan lebih baik. Mempelajari teknik ini boleh membantu pembangun menanyakan nilai tertentu dalam tatasusunan dengan lebih cepat dan meningkatkan kecekapan kod.

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada array wujud dalam 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