Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menentukan sama ada tiada nilai tertentu dalam tatasusunan dalam php

Bagaimana untuk menentukan sama ada tiada nilai tertentu dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-25 10:16:11
asal
564 orang telah melayarinya

Dalam PHP, sangat mudah untuk menentukan sama ada tatasusunan mengandungi nilai. Biasanya kami menggunakan fungsi in_array untuk menyemak sama ada nilai tertentu wujud dalam tatasusunan. Jadi apakah yang perlu anda lakukan jika anda ingin memastikan bahawa tiada nilai tertentu dalam tatasusunan?

Jika anda mencari fungsi in_array daripada dokumentasi rasmi PHP, anda akan mendapati bahawa nilai pulangan bagi fungsi ini ialah nilai Boolean (benar atau salah Jika nilai yang ditentukan ditemui dalam tatasusunan, ia akan kembali). benar, jika tidak ia akan kembali palsu. Iaitu, jika fungsi in_array mengembalikan palsu, ini bermakna nilai itu tiada dalam tatasusunan. Seperti yang ditunjukkan dalam contoh berikut:

$fruits = array("apple", "banana", "orange");
if (!in_array("pear", $fruits)) {
  echo "数组中没有 pear";
}
Salin selepas log masuk

Dalam contoh di atas, kami mencipta tatasusunan buah-buahan $fruits dan menggunakan fungsi in_array untuk menyemak sama ada nilai "pear" wujud dalam tatasusunan. Jika ia tidak wujud, ia akan mengeluarkan "Tiada pear dalam tatasusunan".

Selain fungsi in_array, kita juga boleh menggunakan fungsi array_search untuk menentukan sama ada nilai wujud dalam tatasusunan. Fungsi array_search mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kunci nilai jika ditemui, jika tidak ia mengembalikan palsu. Jadi jika fungsi array_search mengembalikan palsu, ini bermakna nilai yang ditentukan tiada dalam tatasusunan. Seperti yang ditunjukkan dalam contoh berikut:

$fruits = array("apple", "banana", "orange");
if (array_search("pear", $fruits) === false) {
  echo "数组中没有 pear";
}
Salin selepas log masuk

Dalam contoh di atas, kami juga mencipta tatasusunan buah-buahan $fruits, tetapi kali ini kami menggunakan fungsi array_search untuk menyemak sama ada nilai "pear" wujud dalam tatasusunan. Tidak seperti fungsi in_array, jika nilai yang ditentukan ditemui, fungsi array_search mengembalikan nama kunci yang sepadan. Oleh itu, kita perlu menggunakan tiga tanda sama (===) untuk memastikan bahawa nilai pulangan adalah palsu, kerana jika nilai pulangan ialah 0 (iaitu, nama kunci elemen pertama tatasusunan), pernyataan if akan mentafsirkannya sebagai palsu, Ini menjadikannya mustahil untuk menentukan dengan betul sama ada nilai itu wujud.

Selain in_array dan array_search, terdapat cara yang lebih mudah untuk menentukan sama ada tatasusunan mengandungi nilai tertentu, iaitu menggunakan fungsi array_diff. Fungsi array_diff digunakan untuk mengira perbezaan antara tatasusunan dan tatasusunan, iaitu, ia mengembalikan nilai yang muncul dalam tatasusunan pertama tetapi tidak dalam tatasusunan berikutnya. Jika semua nilai dalam tatasusunan pertama muncul dalam tatasusunan berikutnya, tatasusunan kosong dikembalikan, iaitu, jika fungsi array_diff mengembalikan hasil kosong, ini bermakna tatasusunan mengandungi nilai yang ditentukan. Sebaliknya, jika hasilnya tidak kosong, ini bermakna nilai itu tidak wujud dalam tatasusunan. Seperti yang ditunjukkan dalam contoh berikut:

$fruits = array("apple", "banana", "orange");
if (count(array_diff(array("pear"), $fruits)) > 0) {
  echo "数组中没有 pear";
}
Salin selepas log masuk

Dalam contoh di atas, kami menggunakan fungsi array_diff untuk membandingkan tatasusunan $fruits dengan tatasusunan yang mengandungi hanya "pir". Jika hasilnya tidak kosong, keluarkan "Tiada pear dalam tatasusunan".

Ringkasnya, kita boleh menggunakan fungsi in_array, array_search atau array_diff untuk menentukan sama ada array mengandungi nilai yang ditentukan. Antaranya, fungsi in_array dan array_search digunakan untuk menyemak sama ada nilai yang ditentukan wujud dalam tatasusunan, manakala fungsi array_diff digunakan untuk mengira perbezaan antara tatasusunan dan tatasusunan. Kita boleh dengan mudah menentukan sama ada tatasusunan mengandungi nilai tertentu dengan hanya menggunakan fungsi ini dengan pernyataan if.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tiada nilai tertentu dalam tatasusunan 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