Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam php

Bagaimana untuk menentukan sama ada tatasusunan mengandungi nilai tertentu dalam php

PHPz
PHPzasal
2023-04-19 09:17:05804semak imbas

Dalam pembangunan PHP, tatasusunan ialah struktur data yang sangat biasa digunakan. Dalam proses menggunakan tatasusunan, selalunya melibatkan penilaian sama ada tatasusunan mengandungi nilai tertentu. Artikel ini akan memperkenalkan secara ringkas cara untuk menentukan dengan cepat sama ada tatasusunan mengandungi nilai tertentu dalam PHP dan menyediakan beberapa kod sampel untuk rujukan.

1 Gunakan fungsi in_array() untuk menentukan

Dalam PHP, gunakan fungsi in_array() untuk menentukan dengan cepat sama ada tatasusunan mengandungi nilai tertentu. Fungsi ini menerima dua parameter, parameter pertama ialah nilai yang akan ditemui, dan parameter kedua ialah tatasusunan untuk disoal. Jika nilai ditanya, benar dikembalikan, jika tidak palsu dikembalikan.

Kod sampel:

$arr = array('php', 'java', 'python', 'ruby');
if (in_array('php', $arr)) {
  echo '该数组中包含php';
} else {
  echo '该数组中不包含php';
}

Output:

该数组中包含php

2 Gunakan fungsi array_search() untuk menentukan

Fungsi lain yang biasa digunakan ialah array_search (), fungsi ini serupa dengan in_array() dan boleh menentukan dengan cepat sama ada array mengandungi nilai tertentu. Perbezaannya ialah fungsi array_search() mengembalikan nama kunci yang sepadan dan bukannya mengembalikan benar atau salah.

Kod sampel:

$arr = array('php', 'java', 'python', 'ruby');
$key = array_search('php', $arr);
if ($key !== false) {
  echo '该数组中包含php,其键名为:' . $key;
} else {
  echo '该数组中不包含php';
}

Output:

该数组中包含php,其键名为:0

Perlu diambil perhatian bahawa memandangkan array_search() mengembalikan nama kunci yang dipadankan, ia perlu dinilai Sama ada nilai pulangan adalah palsu, dan bukannya menggunakan if(array_search('php', $arr)) secara langsung.

3. Gunakan fungsi in_array() dan array_search() untuk padanan kabur

Kadangkala perlu melakukan padanan kabur untuk menentukan sama ada tatasusunan mengandungi nilai tertentu. Sebagai contoh, anda perlu menentukan sama ada tatasusunan mengandungi rentetan "php". Anda boleh menggunakan ungkapan biasa dalam kombinasi dengan in_array() dan array_search() fungsi untuk melaksanakan padanan kabur.

Kod sampel:

$arr = array('welcome to php world', 'java is the best language', 'I love python', 'ruby on rails');
$pattern = '/.*php.*/i'; // 匹配包含php字样的字符串
foreach ($arr as $value) {
  if (preg_match($pattern, $value)) {
    if (in_array($value, $arr)) {
      echo $value . ' 存在于数组中';
    } else {
      $key = array_search($value, $arr);
      echo $value . ' 的键名为:' . $key . ',但其实际不在数组中';
    }
  }
}

Output:

welcome to php world 存在于数组中

Ringkasan

Dalam PHP, anda boleh menggunakan in_array untuk menentukan sama ada tatasusunan mengandungi nilai tertentu () dan array_search() berfungsi. Perbezaan antara kedua-dua fungsi ialah jenis nilai pulangan. Perlu diingat bahawa semasa padanan kabur, ungkapan biasa mesti digunakan dalam kombinasi dengan in_array() dan array_search() fungsi untuk pertimbangan.

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