Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menanyakan aksara tertentu dalam tatasusunan dalam php

Bagaimana untuk menanyakan aksara tertentu dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-27 09:05:19692semak imbas

Dalam PHP, tatasusunan ialah struktur data yang sangat biasa digunakan, yang boleh menyimpan pelbagai jenis nilai, seperti integer, rentetan, nilai Boolean, dsb. Semasa memproses data, kita selalunya perlu mencari sama ada aksara atau elemen tertentu wujud dalam tatasusunan untuk melaksanakan operasi yang berkaitan. Artikel ini akan memperkenalkan cara untuk menanyakan aksara tertentu dalam tatasusunan dalam PHP.

1. Tanya satu elemen dalam tatasusunan

1 Gunakan fungsi in_array() untuk bertanya sama ada unsur tertentu wujud dalam tatasusunan. Fungsi

in_array() boleh menentukan sama ada tatasusunan mengandungi nilai yang ditentukan dan mengembalikan nilai Boolean Jika wujud, ia mengembalikan benar, jika tidak ia mengembalikan nilai palsu. Sebagai contoh, kami mempunyai array $fruit, yang mengandungi tiga elemen: epal, pisang dan oren.

$fruit = array("苹果", "香蕉", "橘子");

Kami ingin bertanya sama ada unsur pisang wujud dalam tatasusunan Anda boleh menggunakan kod berikut:

$exist = in_array("香蕉", $fruit);
if ($exist) {
  echo "该元素存在于数组中";
} else {
  echo "该元素不存在于数组中";
}

Hasil menjalankan kod di atas ialah: "Elemen ini wujud dalam tatasusunan. ."

2 Gunakan fungsi array_search() untuk bertanya sama ada unsur tertentu wujud dalam tatasusunan.

Fungsi array_search() digunakan untuk mencari nilai yang ditentukan dalam tatasusunan Jika ia wujud, ia mengembalikan nama kunci nilai, jika tidak, ia mengembalikan nilai palsu. Sebagai contoh, kami menggunakan kod berikut untuk bertanya sama ada terdapat elemen epal dalam tatasusunan di atas:

$key = array_search("苹果", $fruit);
if ($key !== false) {
  echo "指定元素在数组中的键名为:" . $key;
} else {
  echo "该元素不存在于数组中";
}

Hasil kod di atas ialah: "Nama kunci elemen yang ditentukan dalam tatasusunan ialah: 0 ".

2. Tanya berbilang elemen dalam tatasusunan

Apabila anda perlu bertanya sama ada berbilang elemen dalam tatasusunan wujud, kedua-dua kaedah di atas tidak sesuai. PHP menyediakan fungsi array_intersect() untuk mencari persilangan dua atau lebih tatasusunan (iaitu, elemen yang terkandung di dalamnya bersama-sama kita boleh menggunakan fungsi ini untuk menapis elemen tertentu dalam tatasusunan).

Sebagai contoh, terdapat dua tatasusunan $buah dan $wanted, di mana $fruit mengandungi empat buah: epal, pisang, oren dan anggur dan $wanted mengandungi nama buah-buahan yang ingin kami tanyakan, seperti epal dan tangerin. Kita perlu bertanya sama ada elemen dalam tatasusunan $wanted wujud dalam tatasusunan $fruit.

$fruit = array("苹果", "香蕉", "橘子", "葡萄");
$wanted = array("苹果", "橘子");
$common = array_intersect($fruit, $wanted);
if (count($common) > 0) {
  echo "查找到以下元素:";
  foreach ($common as $value) {
    echo $value . " ";
  }
} else {
  echo "未查询到任何元素";
}

Hasil menjalankan kod di atas ialah: "Elemen berikut ditemui: oren epal".

Perlu diambil perhatian bahawa hasil yang dikembalikan oleh fungsi array_intersect() ialah tatasusunan baharu, yang mengandungi elemen biasa dalam dua tatasusunan. Apabila mengendalikan hasil yang dikembalikan, anda perlu menggunakan pernyataan gelung foreach() untuk melintasi.

3. Ringkasan

Menyiasat aksara tertentu dalam tatasusunan ialah salah satu operasi biasa dalam PHP. Dalam pembangunan sebenar, kita boleh memilih kaedah yang berbeza mengikut keperluan tertentu. Perlu diingat bahawa apabila saiz tatasusunan adalah besar, kecekapan merentasi keseluruhan tatasusunan ke elemen pertanyaan mungkin dikurangkan Dalam kes ini, kita boleh mempertimbangkan untuk menggunakan struktur data lain untuk pengoptimuman.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan aksara tertentu 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