PHP, sebagai bahasa skrip yang digunakan secara meluas dalam pembangunan web, mempunyai keupayaan pemprosesan data yang kukuh, antaranya tatasusunan merupakan salah satu jenis data penting dalam PHP. Dalam PHP, kita selalunya perlu menentukan sama ada nilai wujud dalam tatasusunan, jadi menentukan sama ada nilai dalam PHP dalam tatasusunan ialah masalah yang sangat biasa Artikel ini akan meneroka isu ini secara mendalam.
1. Pengenalan kepada tatasusunan PHP
Dalam PHP, tatasusunan ialah jenis data yang biasa digunakan dengan ciri-ciri berikut:
Sebagai contoh, berikut ialah tatasusunan PHP mudah:
$cities=array("Beijing","Shanghai","Guangzhou","Shenzhen");
Dalam tatasusunan ini,$cities
ialah nama pembolehubah tatasusunan danarray("Beijing","Shanghai","Guangzhou","Shenzhen")
ialah tatasusunan empat Tatasusunan yang terdiri daripada elemen Setiap elemen sepadan dengan nama bandar jenis rentetan, dan subskrip masing-masing adalah 0, 1, 2, dan 3.
2. Bagaimana untuk menentukan sama ada nilai berada dalam tatasusunan dalam PHP
Sekarang dengan mengandaikan kita mempunyai tatasusunan$arr
dan nilai$value
, kita perlu menentukan sama ada nilai ini dalam tatasusunan. Terdapat banyak cara untuk mencapai ini dalam PHP, termasuk menggunakan fungsiin_array()
, menggunakan fungsiarray_search()
, menggunakan fungsiisset()
danarray_key_exists()
, dsb., yang diperkenalkan di bawah.
in_array()
untuk menentukan sama ada nilai berada dalam tatasusunanin_array()
Fungsi ini digunakan untuk menyemak sama ada nilai wujud dalam tatasusunan dan mengembalikan nilai Boolean . Mengembalikan$value
jika$arr
wujud dalamTrue
, jika tidak mengembalikanFalse
.
in_array($value,$arr);
Berikut ialah contoh:
$fruits=array("apple","banana","orange","kiwi"); if(in_array("banana",$fruits)){ echo "查找到了值!"; }else{ echo "未查找到值."; }
Kod ini akan mengeluarkan查找到了值!
.
array_search()
untuk menentukan sama ada nilai berada dalam tatasusunanarray_search()
Fungsi ini digunakan untuk cuba mencari elemen dalam tatasusunan dan kembalikan kuncinya (iaitu subskrip). Jika$value
wujud dalam$arr
, mengembalikan kunci elemen, jika tidak mengembalikanFalse
.
array_search($value,$arr);
Berikut ialah contoh:
$fruits=array("apple","banana","orange","kiwi"); $index=array_search("banana",$fruits); echo $index;
Kod ini akan mengeluarkan 1 keranabanana
sepadan dengan elemen kedua dalam tatasusunan$fruits
, subskripnya ialah 1.
Perlu diambil perhatian bahawa jika$value
sepadan dengan berbilang elemen, hanya subskrip elemen pertama yang ditemui akan dikembalikan.
isset()
danarray_key_exists()
untuk menentukan sama ada nilai berada dalam tatasusunanisset()
Fungsi digunakan untuk mengesan sama ada pembolehubah itu set, jika pembolehubah wujud dan nilainya bukanNULL
, kemudian kembalikanTrue
, jika tidak kembalikanFalse
. Fungsi
isset($arr[$key]);
array_key_exists()
digunakan untuk menyemak sama ada kunci atau indeks yang ditentukan wujud dalam tatasusunan. Mengembalikan$key
jika$arr
wujud dalamTrue
, jika tidak mengembalikanFalse
.
array_key_exists($key,$arr);
Berikut ialah contoh:
$fruits=array("apple"=>1,"banana"=>2,"orange"=>3,"kiwi"=>4); if(isset($fruits["banana"])){ echo "查找到了值!"; }else{ echo "未查找到值."; }
Kod ini akan mengeluarkan查找到了值!
kerana terdapat elemen dengan kuncibanana
dalam tatasusunan.
3. Perbandingan tiga kaedah dalam PHP
Menggunakan fungsiin_array()
dan fungsiarray_search()
adalah kaedah yang lebih biasa, dan ia juga merupakan kaedah yang lebih cekap.
in_array()
Fungsi mengembalikan nilai Boolean, tidak perlu menanyakan kedudukan elemen dalam tatasusunan, dan ia lebih pantas. Fungsiarray_search()
mengembalikan indeks elemen dalam tatasusunan, yang lebih perlahan sedikit.
Menggunakan fungsiisset()
dan fungsiarray_key_exists()
lebih biasa digunakan untuk tatasusunan bersekutu (iaitu tatasusunan yang subskripnya adalah rentetan). Perbezaan antara kedua-dua fungsi ini ialah fungsiisset()
mengembalikanTrue
apabila nilai sasaran wujud, dan masih mengembalikanFalse
apabila nilai sasaran tidak wujud dan fungsiarray_key_exists()
mengembalikanFalse
apabila sasaran nilai tidak wujud hanya mengembalikanTrue
jika nilai sasaran wujud.
4. Ringkasan
Menentukan sama ada nilai wujud dalam tatasusunan ialah keperluan biasa dalam PHP Artikel ini memperkenalkan tiga kaedah dalam PHP: menggunakan fungsiin_array()
, menggunakan fungsiarray_search()
dan gunakan fungsiisset()
danarray_key_exists()
. Kaedah ini agak mudah dalam pelaksanaan dan boleh dipilih dan digunakan mengikut keperluan. Pada masa yang sama, kaedah atau algoritma lain juga boleh dipilih mengikut situasi sebenar. Walau apa pun, kuncinya ialah pertukaran antara ketepatan dan kecekapan.
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!