Joh*_*ohn 3 php arrays string if-statement
我很有能力编码PHP虽然我遇到了一种情况,我想知道是否可以使用stristr匹配SINGLE if条件中的数组中的任何值.我不需要/想要一个类,一个专用函数或任何超复杂的东西,我也不做任何复杂的事情,比如尝试匹配特殊字符,我只是觉得我可能在php.net上错过了一些有用的东西.
一般概念......
if (stristr($search_this,$array_with_values)) {echo 'a match was found';}
Run Code Online (Sandbox Code Playgroud)
...或者相当于什么(即使这不起作用)......
if (stristr($search_this,array('string1','string2'))) {echo 'a match was found';}
Run Code Online (Sandbox Code Playgroud)
...我可能会尝试在常规句子/字符串中找到字符串'apple','orange','banana'.
我可以在if条件之外定义数组.
我的主要目标是简单地没有多个if条件或使用多个运算符,如&&或||.
所以我不想要多个|| 如果可能,这样的运营商......
if (
stristr($search_this_string,'string1') ||
stristr($search_this_string,'string2') ||
stristr($search_this_string,'string3')
) {echo 'a match was found';}
Run Code Online (Sandbox Code Playgroud)
我不介意在if条件之前/之外使用数组,尽管我希望能够在单个if条件中适应其他所有内容.
正则表达式绝对是最好的.很短,我期望比任何东西都快,甚至远远接近长度.
if(preg_match('/'.implode('|', array_map('preg_quote', $needles)).'/i', $haystack)) {
echo 'Match found!';
}
Run Code Online (Sandbox Code Playgroud)
编辑:关于"stristr"出现在问题标题上......关注问题,而不是解决方案.
小智 5
我怀疑这是高性能的,但是如果您正在寻找一个外观简单的单线:
if( str_ireplace(array('string1', 'string2'), '', $str) != $str )
{
echo 'a match was found';
}
Run Code Online (Sandbox Code Playgroud)