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

Bagaimana untuk menentukan sama ada rentetan berada dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 10:21:27589semak imbas

Dalam PHP, ia adalah operasi yang sangat biasa untuk menentukan sama ada rentetan berada dalam tatasusunan. Dalam pembangunan sebenar, selalunya terdapat situasi di mana perlu untuk menentukan sama ada rentetan berada dalam tatasusunan.

Jika tatasusunan yang perlu dinilai agak kecil, anda boleh menggunakan fungsi in_array untuk menilai. in_array boleh menentukan sama ada nilai berada dalam tatasusunan dan mengembalikan benar atau palsu.

Kod sampel adalah seperti berikut:

<?php
$arr = array('apple','banana','orange');
if(in_array('apple',$arr)){
    echo '存在';
}else{
    echo '不存在';
}

Dalam contoh ini, tatasusunan $arr mengandungi 3 elemen: epal, pisang dan oren. Jika nilai yang ditemui ialah epal, "wujud" akan menjadi output;

Namun, dalam pembangunan sebenar, selalunya terdapat situasi di mana tatasusunan yang perlu dinilai adalah agak besar. Jika anda menggunakan fungsi in_array untuk menilai, kecekapan akan menjadi lebih rendah, kerana fungsi in_array perlu merentasi keseluruhan tatasusunan untuk mencari elemen sasaran.

Dalam kes ini, kita boleh menggunakan fungsi lain yang disediakan oleh PHP - array_search untuk menentukan sama ada tatasusunan mengandungi elemen. array_search akan mengembalikan subskrip elemen sasaran dalam tatasusunan, jika tidak dijumpai, ia akan mengembalikan palsu.

Kod sampel adalah seperti berikut:

<?php
$arr = array('apple','banana','orange');
$find = 'banana';
if(($key = array_search($find,$arr)) !== false){
    echo $find.'存在,下标为:'.$key;
}else{
    echo $find.'不存在';
}

Dalam contoh ini, tatasusunan yang perlu kita nilai masih $arr, dan nilai yang perlu kita cari ialah pisang. Perlu diingat bahawa apabila menggunakan fungsi array_search, nilai pulangan perlu dinilai. Jika nilai pulangan tidak palsu, ini bermakna elemen sasaran wujud dan subskrip elemen sasaran dalam tatasusunan dikembalikan jika nilai pulangan palsu, elemen sasaran tidak wujud.

Jika syarat yang perlu dinilai adalah lebih kompleks, seperti mencari elemen yang mengandungi subrentetan tertentu dalam tatasusunan, anda boleh menggunakan fungsi array_filter yang disediakan oleh PHP. Fungsi array_filter boleh digunakan untuk menapis elemen dalam tatasusunan yang memenuhi syarat yang ditentukan dan mengembalikan tatasusunan baharu.

Kod sampel adalah seperti berikut:

<?php
$arr = array('apple','banana','orange','grapefruit','pear');
$find = 'ap';
$res = array_filter($arr,function($item) use ($find){
    if(strpos($item,$find) !== false){
        return true;
    }else{
        return false;
    }
});
if(!empty($res)){
    echo '找到了包含'.$find.'的元素:'.implode(',',$res);
}else{
    echo '没有找到包含'.$find.'的元素';
}

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $arr, dan kemudian syarat yang perlu ditemui ialah elemen yang mengandungi rentetan "ap" . Kami menggunakan fungsi array_filter untuk menapis elemen dalam tatasusunan yang memenuhi syarat. Syarat penapisan ialah: gunakan fungsi strpos untuk menentukan sama ada elemen mengandungi rentetan "ap". Jika hasil penapis akhir tidak kosong, ini bermakna elemen yang mengandungi "ap" telah ditemui.

Ringkasnya, PHP menyediakan pelbagai cara untuk menentukan sama ada rentetan berada dalam tatasusunan dan pembangun boleh memilih mengikut keperluan khusus dan keadaan sebenar. Dalam aplikasi sebenar, perhatian juga harus diberikan kepada penulisan kod yang cekap dan mantap.

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