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

Bagaimana untuk menentukan sama ada nilai berada dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 09:05:12476semak imbas

Dalam pengaturcaraan PHP, selalunya perlu untuk menentukan sama ada nilai berada dalam tatasusunan Ini biasanya boleh dicapai menggunakan fungsi in_array(). Walau bagaimanapun, kadangkala kita perlu menentukan sama ada nilai tidak dalam tatasusunan, jadi bagaimana kita harus melakukannya?

Dalam artikel ini, kami akan memperkenalkan tiga kaedah yang biasa digunakan untuk menentukan sama ada nilai tidak berada dalam tatasusunan, serta kelebihan, keburukan dan senario yang berkenaan. Mula-mula, mari kita lihat cara menggunakan fungsi in_array():

in_array($needle, $haystack);

di mana $needle mewakili nilai yang akan ditemui dan $haystack mewakili tatasusunan untuk dicari. Jika $needle berada dalam $haystack, fungsi mengembalikan benar;

Kemudian, untuk menentukan sama ada nilai tiada dalam tatasusunan, anda hanya perlu menambah operasi penolakan sebelum hasil fungsi in_array(), seperti ditunjukkan di bawah:

!in_array($needle, $haystack);

Dengan cara ini Anda boleh menentukan sama ada $needle tiada dalam $haystack. Walau bagaimanapun, kaedah ini mempunyai kelemahan, iaitu apabila $needle berada dalam $haystack, fungsi tersebut masih akan kembali palsu, dan hasilnya perlu diterbalikkan semula untuk mendapatkan jawapan yang betul.

Kaedah di atas juga boleh ditulis semula dalam bentuk berikut:

array_search($needle, $haystack) === false;

Fungsi array_search() digunakan untuk mencari nilai dalam tatasusunan Jika ditemui, nilai dalam tatasusunan dikembalikan kunci; jika tidak, mengembalikan palsu. Oleh itu, jika anda ingin menentukan bahawa $needle tiada dalam $haystack, anda boleh menentukan sama ada nilai pulangan array_search($needle, $haystack) adalah sama dengan palsu.

Walau bagaimanapun, kaedah ini juga mempunyai kelemahan, iaitu, jika $needle berada dalam $haystack, fungsi akan mengembalikan kunci elemen dalam tatasusunan dan bukannya mengembalikan benar. Oleh itu, keputusan perlu dibandingkan semula untuk mendapatkan jawapan yang betul.

Akhir sekali, kami memperkenalkan kaedah yang lebih mudah dan cekap, menggunakan pengendali PHP! = dan !==, seperti yang ditunjukkan di bawah:

!($value != array_search($needle, $haystack));

Prinsip kaedah ini ialah jika $needle berada dalam $haystack, array_search($needle, $haystack) mengembalikan elemen dalam kekunci tatasusunan, $value adalah sama dengan kunci jika tidak, $value sama dengan false. Oleh itu, anda hanya perlu menentukan sama ada $value adalah sama dengan array_search($needle, $haystack), dan kemudian melakukan operasi penyongsangan untuk mendapatkan jawapan yang betul.

Ringkasnya, dalam pengaturcaraan PHP, anda boleh menggunakan tiga kaedah di atas untuk menentukan sama ada sesuatu nilai tidak berada dalam tatasusunan. Apabila memilih kaedah yang sesuai, anda perlu mempertimbangkan situasi khusus dan memilih kaedah yang paling sesuai untuk melaksanakan fungsi tersebut.

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