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

Bagaimana untuk menentukan sama ada nombor tertentu berada dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-17 16:36:51669semak imbas

Dalam PHP, terdapat banyak kaedah untuk menentukan sama ada nombor dalam tatasusunan Artikel ini akan memperkenalkan kaedah ini secara terperinci, dan juga memperkenalkan beberapa fungsi operasi tatasusunan lain.

  1. Gunakan fungsi in_array()

in_array() boleh menentukan sama ada nilai berada dalam tatasusunan Sintaksnya adalah seperti berikut:

in_array($value, $array, $strict)

di mana , parameter $value menunjukkan nilai yang akan ditemui, parameter $array menunjukkan tatasusunan yang hendak dicari dan parameter $strict menunjukkan sama ada jenis data benar-benar sepadan, yang boleh ditinggalkan dan lalai kepada palsu. Mengembalikan benar jika nilai ditemui, palsu sebaliknya.

Kod sampel adalah seperti berikut:

$fruits = array("apple", "banana", "orange");

if (in_array("apple", $fruits)) {
    echo "苹果在数组中存在!";
} else {
    echo "苹果不在数组中存在!";
}

Hasil output ialah:

苹果在数组中存在!
  1. Gunakan fungsi array_search()

array_search () fungsi boleh mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan nama kunci yang sepadan, atau mengembalikan palsu jika ia tidak ditemui. Sintaks adalah seperti berikut:

array_search($value, $array, $strict)

Antaranya, parameter $value menunjukkan nilai yang akan ditemui, parameter $array menunjukkan tatasusunan yang hendak dicari dan parameter $strict menunjukkan sama ada jenis data benar-benar sepadan, yang boleh ditinggalkan dan lalai kepada palsu.

Kod sampel adalah seperti berikut:

$fruits = array("apple", "banana", "orange");

$key = array_search("banana", $fruits);
if ($key !== false) {
    echo "香蕉在数组中的键名为:" . $key;
} else {
    echo "香蕉不在数组中存在!";
}

Hasil output ialah:

香蕉在数组中的键名为:1

Jika anda ingin mencari sama ada nilai wujud, anda boleh menggunakannya seperti ini:

$fruits = array("apple", "banana", "orange");

if (array_search("orange", $fruits) !== false) {
    echo "橘子在数组中存在!";
} else {
    echo "橘子不在数组中存在!";
}

Hasil output ialah:

橘子在数组中存在!
  1. Gunakan in_array() dan array_search() untuk menilai secara serentak

In sesetengah kes, anda perlu tahu yang tertentu Sama ada nilai itu dalam tatasusunan dan anda perlu tahu nama kuncinya, anda boleh menggabungkan dua fungsi in_array() dan array_search() untuk menilai pada masa yang sama.

Kod sampel adalah seperti berikut:

$fruits = array("apple", "banana", "orange");

if (in_array("banana", $fruits) && ($key = array_search("banana", $fruits)) !== false) {
    echo "香蕉在数组中的键名为:" . $key;
} else {
    echo "香蕉不在数组中存在!";
}

Hasil output ialah:

香蕉在数组中的键名为:1
  1. Gunakan fungsi array_key_exists()

fungsi array_key_exists () boleh menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunannya adalah seperti berikut:

array_key_exists($key, $array)

Antaranya, parameter $key mewakili nama kunci yang akan ditemui. dan parameter $array mewakili tatasusunan yang hendak dicari. Mengembalikan benar jika nama kunci ditemui, palsu sebaliknya.

Kod sampel adalah seperti berikut:

$fruits = array("apple" => 0, "banana" => 1, "orange" => 2);

if (array_key_exists("banana", $fruits)) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

Hasil output ialah:

香蕉在数组中存在!
  1. Gunakan fungsi isset()
Fungsi

isset () boleh menentukan sama ada nama kunci yang ditentukan wujud dalam tatasusunan adalah seperti berikut:

isset($array[$key])

Antaranya, parameter $key mewakili nama kunci yang akan ditemui, dan parameter $array mewakili tatasusunan yang hendak dicari. Mengembalikan benar jika kunci ditemui, palsu sebaliknya.

Kod sampel adalah seperti berikut:

$fruits = array("apple" => 0, "banana" => 1, "orange" => 2);

if (isset($fruits["orange"])) {
    echo "橘子在数组中存在!";
} else {
    echo "橘子不在数组中存在!";
}

Hasil output ialah:

橘子在数组中存在!

Nota: Apabila menggunakan fungsi isset(), sila beri perhatian, jika nilai yang sepadan dengan nama kunci adalah null juga akan mengembalikan palsu, jadi ia tidak dapat ditentukan dengan tepat sama ada nama kunci wujud dalam tatasusunan.

  1. Gunakan fungsi array_diff()

fungsi array_diff() boleh mencari perbezaan antara dua tatasusunan, iaitu mengembalikan perbezaan yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan berikut semua nilai. Oleh itu, jika nilai yang ditemui digunakan sebagai tatasusunan pertama dan tatasusunan asal digunakan sebagai tatasusunan kedua, dan hasil carian ialah set perbezaan kosong, ini bermakna ia wujud dalam tatasusunan asal.

Kod sampel adalah seperti berikut:

$fruits = array("apple", "banana", "orange");

if (count(array_diff(array("banana"), $fruits)) == 0) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

Hasil output ialah:

香蕉在数组中存在!
  1. Gunakan fungsi preg_grep()

preg_grep Fungsi () boleh menggunakan ungkapan biasa untuk memadankan elemen tatasusunan dan mengembalikan semua elemen padanan. Oleh itu, jika nilai yang ditemui digunakan sebagai ungkapan biasa dan tatasusunan asal digunakan sebagai parameter, dan hasil carian ialah tatasusunan bukan kosong, ini bermakna ia wujud dalam tatasusunan asal.

Kod sampel adalah seperti berikut:

$fruits = array("apple", "banana", "orange");

if (count(preg_grep("/banana/", $fruits)) > 0) {
    echo "香蕉在数组中存在!";
} else {
    echo "香蕉不在数组中存在!";
}

Hasil output ialah:

香蕉在数组中存在!

Di atas adalah pelbagai kaedah untuk menentukan sama ada nombor berada dalam tatasusunan dalam PHP Kita boleh memilih kaedah yang sesuai dengan kita berdasarkan keperluan sebenar. Selain itu, terdapat banyak fungsi operasi tatasusunan lain, seperti array_merge(), array_slice(), array_reverse(), dll. Kita boleh memilih fungsi yang berbeza untuk digunakan mengikut keperluan yang berbeza.

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