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

Bagaimana untuk menentukan sama ada tatasusunan wujud dalam rentetan dalam php

PHPz
Lepaskan: 2023-04-18 13:57:47
asal
1399 orang telah melayarinya

Dalam PHP, menentukan sama ada tatasusunan wujud dalam rentetan ialah masalah biasa. PHP menyediakan pelbagai kaedah untuk mencapai fungsi ini, dan artikel ini akan memperkenalkan beberapa kaedah yang lebih biasa.

Kaedah 1: Gunakan fungsi in_array

Fungsi in_array ialah fungsi yang sangat biasa digunakan dalam PHP, digunakan untuk menentukan sama ada nilai berada dalam tatasusunan. Kita boleh menukar rentetan kepada tatasusunan, dan kemudian gunakan fungsi in_array untuk menentukan sama ada tatasusunan yang perlu kami cari wujud dalam tatasusunan. Kod sampel adalah seperti berikut:

$str = 'apple,banana,pear';
$arr = explode(',', $str);
if (in_array('banana', $arr)) {
    echo '存在';
} else {
    echo '不存在';
}
Salin selepas log masuk

Perihalan kod:

Pertama, kami mentakrifkan pembolehubah rentetan $str, yang mengandungi tiga nama buah yang dipisahkan dengan koma. Kemudian bahagikan rentetan $str ke dalam array $arr melalui fungsi explode. Akhir sekali, gunakan fungsi in_array untuk menentukan sama ada elemen 'pisang' wujud dalam tatasusunan $arr Jika ia wujud, keluaran 'wujud', jika tidak, keluaran 'tidak wujud'.

Kaedah 2: Gunakan fungsi strpos dan explode

Kaedah lain ialah menggunakan fungsi strpos dan explode. Fungsi strpos digunakan untuk mencari kedudukan subrentetan tertentu dalam rentetan Jika ia ditemui, ia mengembalikan nilai integer, jika tidak ia mengembalikan palsu. Kita boleh membahagi rentetan $str dengan koma sebagai pembatas, dan kemudian menggunakan fungsi strpos untuk menentukan sama ada elemen yang akan ditemui berada dalam tatasusunan yang dikembalikan. Kod sampel adalah seperti berikut:

$str = 'apple,banana,pear';
if (strpos($str, 'banana') !== false) {
    echo '存在';
} else {
    echo '不存在';
}
Salin selepas log masuk

Perihalan kod:

Pertama, kami mentakrifkan pembolehubah rentetan $str, yang mengandungi tiga nama buah yang dipisahkan dengan koma. Kemudian, gunakan fungsi strpos untuk mencari kedudukan 'pisang' dalam $str Jika ia dijumpai, ia akan mengembalikan kedudukan, jika tidak ia akan kembali palsu. Akhir sekali, "!==" mesti digunakan untuk menilai melalui ungkapan bersyarat, kerana fungsi strpos mungkin mengembalikan 0, yang palsu, tetapi ia bermakna, dan jika anda menggunakan "!=", ia akan menjadi benar dengan palsu.

Kaedah 3: Gunakan ungkapan biasa

Jika anda biasa dengan ungkapan biasa dan mempunyai keperluan prestasi tertentu, maka gunakan ungkapan biasa untuk menentukan sama ada tatasusunan wujud dalam rentetan ialah pilihan yang baik. Kita boleh menukar tatasusunan yang perlu kita cari ke dalam ungkapan biasa, dan kemudian menggunakan fungsi preg_match untuk memadankan Jika perlawanan berjaya, ia akan kembali benar, jika tidak ia akan kembali palsu. Kod sampel adalah seperti berikut:

$str = 'apple,banana,pear';
if (preg_match('/banana/', $str)) {
    echo '存在';
} else {
    echo '不存在';
}
Salin selepas log masuk

Perihalan kod:

Mula-mula tentukan pembolehubah rentetan $str, dan kemudian gunakan fungsi preg_match untuk menentukan sama ada rentetan 'banana' wujud dalam pembolehubah $str. Jika wujud, keluaran 'wujud', sebaliknya keluaran 'tidak wujud'.

Ringkasan

Artikel ini memperkenalkan cara untuk menentukan sama ada tatasusunan wujud dalam rentetan dalam PHP, termasuk tiga kaedah biasa. Kaedah khusus untuk dipilih bergantung pada situasi sebenar Secara umumnya, in_array, strpos, dan fungsi explode mempunyai prestasi dan kebolehbacaan yang lebih baik, manakala ungkapan biasa lebih sesuai untuk digunakan dalam program lanjutan.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan