PHP运算符,看看是否有某些东西

时间:2012-06-09 15:47:05

标签: php preg-match

我目前遇到了问题。我有一个看起来像下面的代码,我想要一个运算符,检查查询的一部分是否存在于数组中。这是我的代码:

<?php
$search = 'party hat';
$query = ucwords($search);
$string = file_get_contents('http://clubpenguincheatsnow.com/tools/newitemdatabase/items.php');
$string = explode('<br>',$string);
foreach($string as $row)
{
    preg_match('/^(\D+)\s=\s(\d+)\s=\s(\D+)\s=\s(\d+)/', trim($row), $matches);
    if($matches[1] == "$query")
    {
        echo "<a href='http://clubpenguincheatsnow.com/tools/newitemdatabase/info.php?id=$matches[2]'>";
        echo $matches[1];
        echo "</a><br>";
    }
}
?>

我想要做的不是if($matches[1] == "$query")来检查两者是否相同,我希望我的代码能够查看$query中是否存在$matches[1]的部分。我怎么做呢?请帮帮我!

3 个答案:

答案 0 :(得分:5)

您可以使用strpos来测试字符串是否包含在另一个字符串中:

if(strpos($matches[1], $query) !== false)

如果您希望它不区分大小写,请改用stripos

答案 1 :(得分:2)

如果你想检查$ query是否是$ matches [1]的子字符串,你可以使用

strpos($matches[1], $query) !== false

(请参阅文档说明必须使用的原因!==)。

答案 2 :(得分:0)

您可以使用strstr来测试字符串是否包含另一个字符串:

if(strstr($matches[1], $query)) {
    // do something ...
}