in_array()
はいわゆる完全一致で配列から文字列を検索できますが、
部分一致や正規表現を使いたい場合に便利なのがpreg_grep()
です。
$names = array("田中一郎", "鈴木一郎", "山田太郎", "毛利小五郎");
if ( preg_grep("/太郎/", $names) ) {
echo "太郎は存在します。";
}
ただ、上記のように正規表現を使うわけではなくて単純に部分一致で検索するだけなら foreach でループ回してstrpos()
使った方がいいかもしれないですね。
preg_grep()使わない版
$names = array("田中一郎", "鈴木一郎", "山田太郎", "毛利小五郎");
foreach ( $names as $n ) {
if ( strpos($n, "太郎") !== false ) {
echo "太郎は存在します。";
break;
}
}
コメント