Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang penggunaan fungsi PHP in_array().

Penjelasan terperinci tentang penggunaan fungsi PHP in_array().

王林
王林asal
2023-06-27 10:18:402701semak imbas

Terdapat banyak fungsi praktikal dalam PHP, antaranya fungsi in_array() adalah salah satu fungsi yang lebih biasa digunakan. Artikel ini akan memperkenalkan penggunaan fungsi in_array() secara terperinci.

Pertama sekali, fungsi in_array() digunakan untuk menyemak sama ada nilai wujud dalam tatasusunan. Jika ia wujud, kembalikan benar; jika ia tidak wujud, kembalikan palsu. Sintaks fungsi

in_array() adalah seperti berikut:

in_array($needle, $haystack, $strict)

Penjelasan parameter:

  • $jarum: nilai yang akan ditemui.
  • $haystack: tatasusunan di mana ia terletak.
  • $strict: Parameter pilihan Apabila ditetapkan kepada benar, ia akan menyemak sama ada jenis jarum adalah sama seperti dalam timbunan jerami. Lalai adalah palsu.

Berikut adalah beberapa contoh:

$arr1 = array("apple", "banana", "orange");
echo in_array("apple", $arr1); // 输出 1 (true)
echo in_array("lemon", $arr1); // 输出空 (false)

Dalam contoh di atas, kita dapat melihat bahawa fungsi in_array() berjaya menemui "epal" dan dikembalikan benar; untuk "lemon" yang tidak ditemui, ia kembali palsu.

Seterusnya, mari lihat beberapa penggunaan yang lebih kompleks.

1. Semak sama ada berbilang nilai wujud

Dalam sesetengah kes, kita perlu menyemak sama ada berbilang nilai wujud. Ini boleh dicapai dengan menggelung fungsi in_array():

$names = array("Alice", "Bob", "Charlie", "Dave", "Eve");
$search = array("Alice", "John");

foreach ($search as $name) {
    if (in_array($name, $names)) {
        echo "$name exists in names.";
    } else {
        echo "$name does not exist in names.";
    }
}

Dalam contoh ini, kami menyemak sama ada "Alice" dan "John" wujud dalam tatasusunan $names dalam gelung. Contohnya, "Alice wujud dalam nama dan "John tidak wujud dalam nama."

2. Gunakan mod ketat

Jika kita ingin memastikan nilai yang disemak betul-betul sepadan dengan jenis nilai dan nilai dalam tatasusunan, kita boleh menggunakan mod ketat. Dalam kes ini, nilai dianggap wujud hanya jika kedua-dua jenis dan nilai sepadan dengan tepat. Mod ketat boleh didayakan dengan menetapkan parameter ketiga kepada benar.

$numbers = array("1", 2, 3);
echo in_array(1, $numbers);    // 输出 1(true)
echo in_array(1, $numbers, true);  // 输出 空(false)

Dalam contoh di atas, jika mod ketat tidak digunakan, "1" dan integer 1 akan dianggap sama. Walau bagaimanapun, jika mod ketat digunakan, jenis akan diambil kira, jadi mereka akan dianggap tidak sama rata.

3. Gunakan fungsi in_array() untuk melaksanakan kawalan kebenaran mudah

Satu lagi fungsi in_array() digunakan untuk melaksanakan kawalan kebenaran mudah. Sebagai contoh, katakan kita mempunyai satu set peranan pengguna dan satu set peranan yang membenarkan akses kepada halaman. Kami boleh menggunakan fungsi in_array() untuk menyemak sama ada peranan pengguna membenarkan akses ke halaman:

$user_role = "manager";   // 用户角色为manager
$allowed_roles = array("manager", "admin", "superadmin");  // 允许用户角色

if (in_array($user_role, $allowed_roles)) {
    // 用户允许访问
} else {
    // 用户不允许访问
}

Dalam contoh di atas, kami menyemak sama ada $user_role disertakan dalam tatasusunan $allowed_roles. Jika disertakan, pengguna dibenarkan akses, jika tidak, tidak.

Ringkasan: Fungsi

in_array() ialah fungsi yang sangat praktikal dalam PHP, yang boleh menyemak dengan mudah sama ada nilai wujud dalam tatasusunan. Kami juga boleh melakukan penggunaan yang lebih kompleks dengan gelung dan mod ketat. Dengan menguasai penggunaan fungsi in_array(), kami boleh meningkatkan kecekapan menulis kod PHP.

Atas ialah kandungan terperinci Penjelasan terperinci tentang penggunaan fungsi PHP in_array().. 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