Php stripos();在2个变量中搜索

Php stripos();在2个变量中搜索,php,stripos,Php,Stripos,以下是我的功能: function search_title_and_vendor{ if (stripos($title, 'Tsugi') !== false) { if (stripos($vendor, 'Puma') !== false) { return 'Puma Tsugi'; } else { return ''; } } } 其中变量为: $title =

以下是我的功能:

function search_title_and_vendor{
    if (stripos($title, 'Tsugi') !== false) {
        if (stripos($vendor, 'Puma') !== false) {
            return 'Puma Tsugi';
        } else {
            return '';
        }
    }   
}
其中变量为:

$title = 'Puma Tsugi'
$vendor = 'Puma'
如您所见,我尝试嵌套if语句来搜索两个变量,如果它们匹配,则返回“Puma Tsugi”。但是,这不会返回任何结果

在我的文件中,我还出现了,例如,
Vans Tsugi
,其中
$vendor='Vans'
$title='Vans Tsugi运动鞋'


如何搜索这样的组合并返回给定值?

您应该使用参数将信息传递到函数中,如下所示:

$search_result = search_title_and_vendor('Puma Tsugi','Puma');
那么您的原始函数应该在括号中包含变量声明:

function search_title_and_vendor($title, $vendor){
因此,完整的函数应该如下所示:

function search_title_and_vendor($title, $vendor){
if (stripos($title, 'Tsugi') !== false) {
    if (stripos($vendor, 'Puma') !== false) {
        return 'Puma Tsugi';
    }
    else {return '';}
}   
}
然后,
$search\u result
应包含所需的结果:

echo $search_result;

在项目开始时将其声明为全局function@MilanMarkovic全球化永远不是一个好答案;最好将值作为参数传递给函数yes,但它引用了问题的真正根源。应该使用参数,但这对他来说是另一个教训:)请阅读。您的代码有很多地方需要更正。PHP将在
搜索标题和供应商之后
()
。如果第一个条件未通过,则不会返回该条件。为什么不把这两个条件组合成一个语句呢?如果这两个值需要位于字符串中彼此相对的特定位置,则可以使用regex或使用