好的,这样更容易解释。
我有一个变量:
$string
我也有子字符串变量:
$sub1, $sub2, $sub3, $sub4
如果找到任何子字符串变量,我需要回显 $string。包括是否找到多个子字符串变量。
我正在使用它来查找子字符串:
if (strpos($filename, $clothes) > 0 {
echo $string
}
最让我困惑的事情是返回 $string 如果所有或只有一些子字符串。
好的,这样更容易解释。
我有一个变量:
$string
我也有子字符串变量:
$sub1, $sub2, $sub3, $sub4
如果找到任何子字符串变量,我需要回显 $string。包括是否找到多个子字符串变量。
我正在使用它来查找子字符串:
if (strpos($filename, $clothes) > 0 {
echo $string
}
最让我困惑的事情是返回 $string 如果所有或只有一些子字符串。
首先,为了简单起见,将这些子字符串变量视为一个数组。现在,代码可能如下所示,
function doIt($string, $sub_strings){
foreach($sub_strings as $substr){
if(strpos($string, $substr) !== FALSE)
{
return $string; // at least one of the needle strings are substring of heystack, $string
}
}
return ""; // no sub_strings is substring of $string.
}
并使用此功能,
echo doIt($string,array($str1,$str2,$str3,$str4));
感谢橙丸!
只需创建一个函数,根据字符串测试数组中的每个值,如果找到则返回 true。
function findOneOf(array $terms, $string){
foreach ($terms as $term){
if (strpos($string, $term) !== FALSE){
return true;
}
}
return false;
}
然后你可以做你的测试
if (findOneOf(array($sub1, $sub2, $sub3,$sub4), $string)){
echo $string;
}