Bagaimana untuk menentukan sama ada nilai berada dalam tatasusunan dalam PHP (analisis ringkas pelbagai kaedah)

PHPz
Lepaskan: 2023-04-12 10:52:39
asal
1189 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang popular, dan tatasusunannya ialah struktur data yang sangat penting. Apabila kita perlu menentukan sama ada nilai berada dalam tatasusunan, kita boleh menggunakan fungsi in_array() dalam PHP. Artikel ini akan memperincikan cara menggunakan fungsi in_array() dan beberapa kaedah lain untuk menentukan sama ada sesuatu nilai berada dalam tatasusunan.

1 Gunakan fungsi in_array() untuk menentukan sama ada nilai berada dalam array

Dalam PHP, fungsi in_array() ialah kaedah yang paling mudah dan paling biasa digunakan untuk menentukan sama ada nilai berada dalam tatasusunan. Sintaksnya adalah seperti berikut:

in_array($value, $array, $strict);

di mana $value ialah nilai yang ditemui, $array ialah array yang hendak ditemui, dan $strict ialah Parameter pilihan yang menunjukkan sama ada pemeriksaan jenis akan dilakukan.

Sebagai contoh, kami mempunyai array $fruits, yang mengandungi beberapa buah:

$fruits = [
  'apple',
  'banana',
  'pear',
  'orange',
  'kiwi'
];
Salin selepas log masuk

Kami kini ingin menentukan sama ada "pear" berada dalam array $fruits, anda boleh menggunakan kod berikut:

if (in_array('pear', $fruits)) {
  echo 'pear is in the array.';
} else {
  echo 'pear is not in the array.';
}
Salin selepas log masuk

Hasil output ialah:

pear is in the array.
Salin selepas log masuk

Jika anda ingin melakukan semakan jenis, anda boleh menetapkan parameter $strict kepada benar. Contohnya:

$numbers = [1, 2, 3, 4, 5];
if (in_array('1', $numbers, true)) {
  echo '1 is in the array.';
} else {
  echo '1 is not in the array.';
}
Salin selepas log masuk

Hasil keluaran ialah:

1 is not in the array.
Salin selepas log masuk

2. Gunakan fungsi array_search() untuk menentukan sama ada nilai berada dalam tatasusunan

Satu lagi cara untuk menentukan sama ada nilai dalam tatasusunan Kaedah dalam tatasusunan ialah menggunakan fungsi array_search(). Sintaksnya adalah seperti berikut:

array_search($value, $array, $strict);

Di mana, $value ialah nilai yang akan ditemui, $array ialah array yang akan ditemui, dan $strict ialah Parameter pilihan yang menunjukkan sama ada pemeriksaan jenis akan dilakukan. Jika ditemui, fungsi mengembalikan nama kunci nilai dalam tatasusunan jika tidak dijumpai, mengembalikan palsu.

Sebagai contoh, kami mempunyai tatasusunan $harga bersekutu, yang mengandungi harga beberapa buah:

$prices = [
  'apple' => 0.5,
  'banana' => 0.3,
  'pear' => 0.6,
  'orange' => 0.8,
  'kiwi' => 0.7
];
Salin selepas log masuk

Kami kini ingin menentukan sama ada harga "pisang" wujud dalam tatasusunan $prices , anda boleh menggunakan kod berikut:

$key = array_search(0.3, $prices);
if ($key !== false) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
Salin selepas log masuk

Hasil output ialah:

banana exists and the price is 0.3
Salin selepas log masuk
Salin selepas log masuk

Jika anda ingin melakukan semakan jenis, anda boleh menetapkan parameter $strict kepada benar . Contohnya:

$key = array_search('0.3', $prices, true);
if ($key !== false) {
  echo 'banana exists but its price is in a different data type.';
} else {
  echo 'banana does not exist.';
}
Salin selepas log masuk

Hasil keluaran ialah:

banana does not exist.
Salin selepas log masuk

3 Gunakan fungsi isset() untuk menentukan sama ada nilai berada dalam tatasusunan

Satu lagi. kaedah mudah ialah Gunakan fungsi isset() untuk menentukan sama ada kunci wujud dalam tatasusunan. Contohnya:

if (isset($prices['banana'])) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
Salin selepas log masuk

Hasil keluaran adalah sama seperti contoh sebelumnya, iaitu:

banana exists and the price is 0.3
Salin selepas log masuk
Salin selepas log masuk

Walau bagaimanapun, kaedah ini tidak dapat menentukan sama ada nilai wujud di antara nilai-nilai itu dalam tatasusunan Ia hanya boleh Menentukan sama ada kunci wujud dalam tatasusunan. Oleh itu, ia hanya berfungsi dengan tatasusunan biasa, bukan tatasusunan bersekutu atau tatasusunan berbilang dimensi.

4. Gunakan kaedah sambungan in_array() dan array_search()

Selain menggunakan fungsi in_array() dan array_search(), terdapat beberapa kaedah sambungan yang boleh membantu kami lebih baik Tentukan sama ada nilai berada dalam tatasusunan. Contohnya:

1 Gunakan fungsi array_keys() dalam fungsi in_array():

if (in_array($value, array_keys($array))) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
Salin selepas log masuk

Prinsip kaedah ini adalah menggunakan fungsi array_keys() untuk mendapatkan semua. kunci dalam tatasusunan, Kemudian gunakan fungsi in_array() untuk menentukan sama ada nilai itu berada dalam senarai kunci. Walau bagaimanapun, kaedah ini tidak cekap dan mengambil banyak memori dan masa jika tatasusunan adalah besar.

2. Gunakan fungsi array_flip() dan fungsi isset():

if (isset(array_flip($array)[$value])) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
Salin selepas log masuk

Prinsip kaedah ini adalah menggunakan fungsi array_flip() untuk membalikkan kunci dan nilai ​dalam tatasusunan, dan kemudian gunakan fungsi isset() untuk menentukan sama ada nilai itu wujud dalam tatasusunan baharu. Kaedah ini lebih cekap, tetapi ia hanya terpakai pada tatasusunan biasa, bukan tatasusunan bersekutu atau tatasusunan berbilang dimensi.

5. Ringkasan

Dalam PHP, terdapat banyak cara untuk menentukan sama ada sesuatu nilai berada dalam tatasusunan Kaedah yang paling biasa ialah menggunakan fungsi in_array() dan array_search(). Jika anda ingin melakukan pemeriksaan jenis, anda perlu menetapkan parameter $strict kepada benar. Selain itu, terdapat beberapa kaedah lanjutan yang boleh membantu kami menentukan dengan lebih baik sama ada nilai itu berada dalam tatasusunan. Situasi yang berbeza memerlukan kaedah yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai berada dalam tatasusunan dalam PHP (analisis ringkas pelbagai kaedah). 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!