たとえば、配列があります。
$my_array = array('Software Engineering', 'Civil Engineering', 'Hardware Engineering', 'BL AH Engineering');
これで「$q」変数ができました。配列の値を検索し、$qを含まないキーを削除します。コードは次のとおりです。
foreach($my_array as $key => &$value){
if (stripos(($value), $q) === false){
unset($my_array[$key]);
}
}
$ q ='eer'を設定すると:
var_dump($my_array);
array
0 => string 'Software Engineering' (length=20)
1 => string 'Civil Engineering' (length=17)
2 => string 'Hardware Engineering' (length=20)
3 => &string 'BL AH Engineering' (length=17)
ご覧のとおり、すべての$valuesの「Engineering」には「eer」が含まれているため、何も削除されません$q = 'eer civil'
。
var_dump($my_array);
array
empty
すべてのアイテムが削除されますが、実際には「土木工学」には「eer」と「civil」の両方が含まれているため、削除しないでください。どうすればこれを機能させることができますか?$ qを「スペース」で分解する可能性がありますが、機能していません。
前もって感謝します