PHP中的部分字符串匹配

PHP中的部分字符串匹配,php,match,Php,Match,//结果是未找到。是否有其他用于空间匹配的功能?请尝试以下操作- $var1 = 'accommodation_rate_fri_to_sun_garden_view'; $var2 = 'Garden View'; if ( stripos($var1, $var2) !== false ) { echo 'found'; } else { echo 'not found'; } <?php $haystack = 'accommodation_rate_fri_

//结果是未找到
。是否有其他用于空间匹配的功能?

请尝试以下操作-

$var1 = 'accommodation_rate_fri_to_sun_garden_view';
$var2 = 'Garden View';

if (  stripos($var1, $var2) !== false ) {
    echo 'found';
}
else {
    echo 'not found';
}
<?php

$haystack = 'accommodation_rate_fri_to_sun_garden_view';
$needle   = 'Garden View';
$needles  = explode(' ', $needle);
$partial  = false;

foreach($needles as $needle)
{
    if(stripos($haystack, $needle) !== false)
    {
        $partial = true;
        break;
    }
}

if($partial)
{
    echo 'found';
}
else
{
    echo 'not found';
}
试试这个-

<?php

$haystack = 'accommodation_rate_fri_to_sun_garden_view';
$needle   = 'Garden View';
$needles  = explode(' ', $needle);
$partial  = false;

foreach($needles as $needle)
{
    if(stripos($haystack, $needle) !== false)
    {
        $partial = true;
        break;
    }
}

if($partial)
{
    echo 'found';
}
else
{
    echo 'not found';
}
试试这个-

<?php

$haystack = 'accommodation_rate_fri_to_sun_garden_view';
$needle   = 'Garden View';
$needles  = explode(' ', $needle);
$partial  = false;

foreach($needles as $needle)
{
    if(stripos($haystack, $needle) !== false)
    {
        $partial = true;
        break;
    }
}

if($partial)
{
    echo 'found';
}
else
{
    echo 'not found';
}
试试这个-

<?php

$haystack = 'accommodation_rate_fri_to_sun_garden_view';
$needle   = 'Garden View';
$needles  = explode(' ', $needle);
$partial  = false;

foreach($needles as $needle)
{
    if(stripos($haystack, $needle) !== false)
    {
        $partial = true;
        break;
    }
}

if($partial)
{
    echo 'found';
}
else
{
    echo 'not found';
}


未找到结果,因为Garden View不在$var1变量中。我很确定没有函数可以做这样的事情。只有在字符串中找到准确的文本时,Strpos才会给你一个true的结果。我理解,这就是为什么我需要关于部分匹配的想法。有什么方法可以只与字符串的第一个单词进行比较吗?是的,你可以像这样使用explode函数$arr=爆炸(“”,$var2);if(strpos($var1,$arr[0]){如果找到花园,则为true}我知道explode,但它并不优雅。此外,这不是一个变量,而是数组的一个值,我只是为了可读性而发布了它。我不认为有任何其他方法可以解决它,伙计。你可以自己在函数中添加此功能,然后在实际脚本中调用它。由于Garden View不在$var1中,因此找不到结果变量。我非常确定没有函数可以执行类似的操作。只有在字符串中找到准确的文本时,Strpos才会给您一个true结果。我明白,这就是为什么我需要了解部分匹配的原因。是否有任何方法可以仅与字符串的第一个字进行比较?是的,您可以像这样使用explode函数。$arr=explode(“”,$var2);if(strpos($var1,$arr[0]){如果找到花园则为true}我知道explode,但它并不优雅。此外,这不是一个变量,而是数组的一个值,我只是为了可读性而发布了它。我不认为有任何其他方法可以解决它,伙计。你可以自己在函数中添加此功能,然后在实际脚本中调用它。由于Garden View不在$var1中,因此找不到结果变量。我非常确定没有函数可以执行类似的操作。只有在字符串中找到准确的文本时,Strpos才会给您一个true结果。我明白,这就是为什么我需要了解部分匹配的原因。是否有任何方法可以仅与字符串的第一个字进行比较?是的,您可以像这样使用explode函数。$arr=explode(“”,$var2);if(strpos($var1,$arr[0]){如果找到花园则为true}我知道explode,但它并不优雅。此外,这不是一个变量,而是数组的一个值,我只是为了可读性而发布了它。我不认为有任何其他方法可以解决它,伙计。你可以自己在函数中添加此功能,然后在实际脚本中调用它。由于Garden View不在$var1中,因此找不到结果变量。我非常确定没有函数可以执行类似的操作。只有在字符串中找到准确的文本时,Strpos才会给您一个true结果。我明白,这就是为什么我需要了解部分匹配的原因。是否有任何方法可以仅与字符串的第一个字进行比较?是的,您可以像这样使用explode函数。$arr=explode(“”,$var2);if(strpos($var1,$arr[0]){如果找到花园则为true}我知道explode,但它并不优雅。此外,这不是一个变量,而是数组的一个值,我只是为了可读性而发布了它。我认为没有其他方法可以解决这个问题,伙计。你可以自己在函数中添加这个功能,然后在实际脚本中调用它。