Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyemak sama ada nombor berada dalam tatasusunan dalam php

Bagaimana untuk menyemak sama ada nombor berada dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-20 09:10:48528semak imbas

Operasi tatasusunan dalam PHP ialah keperluan biasa. Apabila kita menggunakan PHP untuk melaksanakan operasi tatasusunan, kadangkala kita perlu menentukan sama ada nombor berada dalam tatasusunan.

Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk melaksanakan operasi pertanyaan. Antaranya, kandungan berikut akan disertakan:

  1. Takrifan dan penggunaan tatasusunan dalam PHP.
  2. Cara menyemak sama ada nombor berada dalam tatasusunan dalam PHP.
  3. Cara mengoptimumkan proses pertanyaan.

1 Definisi dan penggunaan tatasusunan dalam PHP

Dalam PHP, tatasusunan ialah struktur data yang sangat penting dan digunakan secara meluas dalam operasi data, pemindahan parameter dan nilai pulangan, dsb. . Tatasusunan boleh menyimpan berbilang data daripada jenis yang sama, setiap satu dengan pengecam lokasi sendiri (kunci).

Array dalam PHP boleh ditakrifkan dalam dua cara:

  1. Menggunakan fungsi array(). Contohnya:
$arr = array(1,2,3,4,5);
  1. Gunakan [] untuk mencipta tatasusunan kosong, dan kemudian gunakan $arr[] = nilai untuk menambah elemen tatasusunan. Contohnya:
$arr = [];
$arr[] = 1;
$arr[] = 2;
$arr[] = 3;

Apabila menggunakan tatasusunan, kita boleh mengakses data tatasusunan melalui kekunci elemen tatasusunan. Kekunci tatasusunan boleh berupa nombor atau rentetan, contohnya:

$arr = array(
    "name" => "Tom",
    "age" => 18,
    "sex" => "男",
);

echo $arr["name"]; //输出 Tom
echo $arr["age"]; //输出 18
echo $arr["sex"]; //输出 男

2. Bagaimana untuk bertanya sama ada nombor berada dalam tatasusunan dalam PHP

Dalam PHP, tanya nombor Di sana terdapat banyak cara untuk menyemak sama ada ia berada dalam tatasusunan, contohnya:

  1. Gunakan fungsi in_array(). Fungsi ini mencari tatasusunan untuk nilai yang ditentukan dan mengembalikan benar atau salah. Contohnya:
$arr = array(1,2,3,4,5);
if(in_array(3,$arr)) {
    echo "3 在数组中";
} else {
    echo "3 不在数组中";
}
  1. Gunakan fungsi array_search(). Fungsi ini mencari nilai yang ditentukan dalam tatasusunan dan mengembalikan kunci nilai jika ditemui, jika tidak ia mengembalikan palsu. Contohnya:
$arr = array(1,2,3,4,5);
$result = array_search(3,$arr);
if($result !== false) {
    echo "3 在数组中,对应的键为:" . $result;
} else {
    echo "3 不在数组中";
}
  1. Gunakan fungsi isset(). Fungsi ini digunakan untuk menyemak sama ada kunci yang ditentukan wujud dalam tatasusunan dan mengembalikan benar jika wujud, jika tidak ia mengembalikan palsu. Contohnya:
$arr = array(
    "name" => "Tom",
    "age" => 18,
    "sex" => "男",
);
if(isset($arr["age"])) {
    echo "存在 age 键";
} else {
    echo "不存在 age 键";
}

Kaedah di atas boleh semua bertanya sama ada nombor berada dalam tatasusunan. Sila pilih kaedah yang sesuai mengikut keperluan sebenar.

3. Bagaimana untuk mengoptimumkan proses pertanyaan

Dalam PHP, untuk meningkatkan kecekapan pertanyaan, anda boleh menggunakan dua kaedah berikut untuk mengoptimumkan proses pertanyaan:

  1. Gunakan Fungsi isset() menentukan sama ada indeks itu wujud

Oleh kerana fungsi isset() ialah fungsi terbina dalam PHP, kelajuan pertanyaan akan menjadi lebih pantas. Apabila kita menggunakan fungsi in_array() atau fungsi array_search(), kedua-duanya perlu merentasi keseluruhan tatasusunan untuk melaksanakan operasi carian. Sebagai perbandingan, fungsi isset() adalah lebih pantas.

Oleh itu, kita boleh menggunakan fungsi isset() dahulu untuk menentukan sama ada indeks itu wujud Jika ia wujud, ini bermakna nombor tertentu berada dalam tatasusunan, dan kita boleh terus mengembalikan true untuk meningkatkan kecekapan.

Contohnya:

//1、使用 in_array() 函数进行查找
$arr = array(1,2,3,4,5);
if(in_array(3,$arr)) {
    echo "3 在数组中";
} else {
    echo "3 不在数组中";
}

//2、使用 isset() 函数进行查找
$arr = array(1,2,3,4,5);
if(isset($arr[2])) {
    echo "3 在数组中";
} else {
    echo "3 不在数组中";
}
  1. Tukar tatasusunan kepada rentetan dan gunakan fungsi strpos() untuk mencarinya

Untuk beberapa tatasusunan tertentu , kami Ini boleh ditukar kepada rentetan dan kemudian dicari menggunakan fungsi strpos(). Kaedah ini lebih pantas daripada melintasi tatasusunan untuk pertanyaan.

Contohnya:

//将数组转换为字符串
$arr = array(1,2,3,4,5);
$str = implode(",", $arr);

//使用 strpos() 函数进行查找
if(strpos($str, "3") !== false) {
  echo "3 在数组中";
} else {
  echo "3 不在数组中";
}

Perlu diambil perhatian bahawa memandangkan kaedah ini akan menukar keseluruhan tatasusunan kepada rentetan, ia sesuai untuk tatasusunan yang memerlukan berbilang pertanyaan dan tidak sesuai untuk jumlah data tatasusunan yang sangat besar.

Ringkasan:

Artikel ini memperkenalkan definisi dan penggunaan tatasusunan dalam PHP, serta pelbagai kaedah untuk menanyakan sama ada nombor berada dalam tatasusunan. Dalam penggunaan sebenar, kaedah yang paling sesuai harus dipilih mengikut situasi tertentu. Untuk meningkatkan kecekapan pertanyaan, anda juga boleh menggunakan fungsi isset() dan fungsi strpos() untuk mengoptimumkan proses pertanyaan.

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