Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada rentetan wujud dalam tatasusunan php

Bagaimana untuk menentukan sama ada rentetan wujud dalam tatasusunan php

PHPz
PHPzasal
2023-04-23 10:06:33548semak imbas

Dalam PHP, menentukan sama ada rentetan wujud dalam tatasusunan ialah operasi yang kerap digunakan, yang boleh dicapai dengan menggunakan fungsi in_array(). Fungsi ini digunakan untuk menentukan sama ada nilai yang ditentukan wujud dalam tatasusunan Jika ia wujud, ia mengembalikan Benar, jika tidak ia mengembalikan Salah. Di bawah ini kami akan menggunakan kod sampel untuk menunjukkan cara menggunakan fungsi in_array() untuk menilai elemen tatasusunan.

Pertama, kita mentakrifkan tatasusunan yang mengandungi berbilang elemen rentetan, seperti berikut:

$fruits = array("Apple", "Banana", "Orange", "Pineapple", "Mango");

Seterusnya, kita boleh menggunakan fungsi in_array() untuk menentukan sama ada tatasusunan mengandungi rentetan yang ditentukan seperti berikut:

if (in_array("Apple", $fruits)) {
    echo "字符串Apple存在于数组中!";
} else {
    echo "字符串Apple不存在于数组中!";
}

Dalam kod di atas, kami mula-mula menentukan sama ada tatasusunan $fruits mengandungi rentetan "Apple", dan jika ya, keluarkan "Rentetan Apple wujud dalam tatasusunan!" output "Rentetan Apple tidak wujud dalam tatasusunan!". Ia boleh dilihat bahawa menggunakan fungsi in_array() adalah sangat mudah Anda hanya perlu menyediakan rentetan untuk ditemui dan nama tatasusunan untuk membuat pertimbangan.

Jika anda perlu menentukan kedudukan elemen dalam tatasusunan, anda boleh menggunakan fungsi array_search() untuk mencarinya, contohnya:

echo "Apple在数组中的位置为:" . array_search("Apple", $fruits);

Dalam kod di atas, kami gunakan fungsi array_search() untuk mendapatkan kandungan array Kedudukan elemen "Apple", fungsi ini akan mengembalikan rentetan "0", menunjukkan bahawa kedudukan elemen dalam tatasusunan adalah yang pertama.

Perlu diperhatikan bahawa untuk fungsi in_array(), parameter kedua boleh menjadi nilai Boolean (pilihan), yang menunjukkan sama ada untuk membandingkan jenis data Lalai adalah palsu, iaitu hanya perbandingan Nilai elemen tanpa membandingkan jenis data. Jika anda perlu membandingkan jenis data, anda boleh menetapkan parameter kedua kepada benar, seperti yang ditunjukkan di bawah:

$numbers = array("1", 2, 3, 4, 5);

if (in_array("1", $numbers, true)) {
  echo "'1'存在于数组中(数据类型匹配)";
} else {
  echo "'1'不存在于数组中(数据类型匹配)";
}

if (in_array(1, $numbers, true)) {
  echo "1存在于数组中(数据类型匹配)";
} else {
  echo "1不存在于数组中(数据类型匹配)";
}

Dalam kod di atas, kami menggunakan rentetan "1" dan integer 1 masing-masing untuk menentukan sama ada Terdapat elemen "1". Oleh kerana jenis data tidak sepadan, yang pertama adalah palsu dan yang kedua adalah benar.

Selain itu, untuk carian data berskala besar, menggunakan fungsi in_array() mungkin memakan masa, kerana fungsi ini perlu merentasi keseluruhan tatasusunan untuk mencari elemen yang ditentukan. Pada masa ini, kita boleh menggunakan fungsi isset() untuk membuat pertimbangan, yang lebih pantas daripada fungsi in_array(). Contohnya:

$fruits = array("Apple", "Banana", "Orange", "Pineapple", "Mango");

if(isset($fruits[array_search('Apple', $fruits)])) {
  echo "数组中存在字符串'Apple'!";
} else {
  echo "数组中不存在字符串'Apple'!";
}

Dalam kod di atas, kita mula-mula menggunakan fungsi array_search() untuk mencari kedudukan rentetan "Apple" dalam array $fruits, dan kemudian gunakan fungsi isset() untuk tentukan sama ada kedudukan wujud , menunjukkan bahawa unsur wujud dalam tatasusunan.

Ringkasnya, menilai sama ada rentetan wujud dalam tatasusunan adalah keperluan yang sangat biasa PHP menyediakan pelbagai cara untuk melaksanakannya. Kita boleh memilih fungsi yang berbeza untuk menilai mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan wujud dalam tatasusunan 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