Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada tatasusunan wujud dalam rentetan dalam php

Bagaimana untuk menentukan sama ada tatasusunan wujud dalam rentetan dalam php

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

Dengan perkembangan dan kemajuan teknologi Internet, PHP, sebagai bahasa skrip yang sangat popular, digunakan secara meluas dalam pembangunan Web. Dalam pembangunan PHP, aplikasi tatasusunan juga sangat biasa. Dalam pembangunan sebenar, kita sering menghadapi situasi di mana kita perlu menentukan sama ada tatasusunan wujud dalam rentetan. Jadi, artikel ini secara khusus akan memperkenalkan cara untuk menentukan sama ada tatasusunan wujud dalam rentetan dalam PHP.

1. Cara menggunakan fungsi in_array dalam PHP

Dalam PHP, kaedah biasa untuk menentukan sama ada tatasusunan wujud dalam tatasusunan lain ialah menggunakan fungsi in_array(). Fungsi in_array() digunakan untuk menentukan sama ada nilai berada dalam tatasusunan Ia mengembalikan benar jika wujud dan palsu jika ia tidak wujud. Struktur sintaks asasnya adalah seperti berikut:

in_array( value, array, bool )

Antaranya, value mewakili nilai yang akan dijumpai, array mewakili array yang akan dijumpai, dan bool mewakili sama ada untuk menggunakan mod ketat, iaitu Sama ada untuk mempertimbangkan jenis. Parameter bool lalai kepada false, yang bermaksud bahawa jenis diabaikan Jika bool ditetapkan kepada benar, jenis nilai dan tatasusunan mesti sepadan dengan ketat.

Kemudian, kita boleh menggunakan fungsi in_array() untuk menentukan sama ada tatasusunan wujud dalam rentetan Kod asas adalah seperti berikut:

$arr = array("apple", "banana. ", " cherry");

$str = "Saya suka pai epal.";

jika (in_array($arr, $str)) {

echo "Match found.";

} else {

echo "Match not found.";

}

Antaranya, tatasusunan $arr mewakili tatasusunan yang hendak ditemui dan $str mewakili rentetan yang hendak ditemui. Jika mana-mana ahli tatasusunan $arr ditemui dalam rentetan $str, maka "Match found dikembalikan, jika tidak "Match not found."

2. Cara menggunakan fungsi strpos() dalam PHP

Selain fungsi in_array(), terdapat juga fungsi rentetan strpos() dalam PHP yang boleh digunakan untuk menentukan sama ada tatasusunan wujud dalam aksara String in. Fungsi strpos() digunakan untuk mencari aksara atau rentetan tertentu dalam rentetan. Struktur sintaks asasnya adalah seperti berikut:

strpos( tumpukan jerami, jarum, mengimbangi)

Antaranya, tumpukan jerami mewakili rentetan di mana jarum ditemui, jarum mewakili rentetan yang akan ditemui, dan offset mewakili permulaan Carian. Jika jarum tidak dijumpai, mengembalikan palsu jika tidak, mengembalikan kedudukan watak atau subrentetan dalam timbunan jerami.

Kemudian, kita boleh menggunakan fungsi strpos() untuk menentukan sama ada tatasusunan wujud dalam rentetan Kod asas adalah seperti berikut:

$arr = array("apple", "banana. ", " cherry");

$str = "Saya suka pai epal.";

foreach ($arr sebagai $buah) {

if (strpos($str, $fruit) !== false) {

    echo "Match found.";

    break;

}

}

Antaranya, tatasusunan $arr mewakili tatasusunan yang hendak dicari dan $str mewakili rentetan yang hendak dicari. Gunakan gelung foreach untuk lelaran melalui setiap ahli dalam tatasusunan $arr, gunakan fungsi strpos() dalam gelung untuk mencari sama ada setiap ahli berada dalam rentetan $str, jika ditemui, kembalikan "Padanan ditemui dan tamatkan gelung,." jika tidak, teruskan Gelung sehingga dijumpai.

3 Perbandingan kedua-dua kaedah

Walaupun kedua-dua fungsi in_array() dan fungsi strpos() boleh digunakan untuk menentukan sama ada tatasusunan wujud dalam rentetan, masih terdapat beberapa perbezaan antara mereka perbezaan. Kami membandingkan perbezaan antara keduanya dari aspek berikut.

1 Penggunaan dan parameter adalah berbeza

Parameter fungsi in_array() termasuk nilai dan tatasusunan yang akan ditemui, manakala parameter fungsi strpos() termasuk rentetan dan subrentetan untuk ditemui. Khususnya, fungsi in_array() adalah serupa dengan fungsi tatasusunan, manakala fungsi strpos() ialah fungsi rentetan.

2. Kepekaan huruf besar kecil tatasusunan dan rentetan adalah berbeza

Fungsi in_array() adalah tidak peka huruf besar-kecil secara lalai, manakala fungsi strpos() adalah sensitif huruf besar-kecil. Jika anda ingin menetapkan sensitiviti huruf besar dalam fungsi in_array(), anda perlu menetapkan parameter ketiganya kepada benar.

3 Situasi berbilang padanan dikendalikan secara berbeza

Jika berbilang padanan ditemui dalam rentetan, fungsi strpos() hanya mengembalikan kedudukan padanan pertama, manakala in_array () fungsi boleh mengembalikan beberapa perlawanan.

4. Kesimpulan

Artikel ini terutamanya memperkenalkan dua kaedah dalam PHP untuk menentukan sama ada tatasusunan wujud dalam rentetan: fungsi in_array() dan fungsi strpos(). Walaupun kedua-dua kaedah ini mempunyai kelebihan dan batasan tersendiri, ia boleh digunakan secara fleksibel dalam pembangunan sebenar dan kaedah yang sesuai boleh dipilih mengikut senario tertentu. Tidak kira kaedah yang digunakan, selagi ia dapat membantu pembangun melaksanakan fungsi dengan cekap, ia adalah kaedah yang baik.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada tatasusunan wujud dalam rentetan 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