0

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

<?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]. 我该怎么做呢?请帮我!

4

3 回答 3

5

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

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

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

于 2012-06-09T15:49:28.197 回答
2

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

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

(请参阅文档了解为什么必须使用!==)。

于 2012-06-09T15:50:33.977 回答
0

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

if(strstr($matches[1], $query)) {
    // do something ...
}
于 2012-06-09T15:55:55.853 回答