PHP部分字符串匹配

时间:2013-02-24 03:08:12

标签: php arrays search

我是PHP的新手。

我正在尝试搜索数据数组,并匹配包含部分字符串

的任何项目

EX:如果用户输入“哦”,搜索会找到任何包含“哦”的项目,因此该项目可能是约翰。

到目前为止,我有这个,不匹配任何东西

if(isset($_POST['firstName'])){
    for($i = 0 ; $i<count($studentInfo);$i++){
        if(strpos($firstName,$studentInfo[$i][2]))

当然,一旦找到该项目,还有其他代码可以执行某些操作。我已经看过很多substr方法和STRPOS函数,我只是弄清楚如何使它与我的代码一起工作。

2 个答案:

答案 0 :(得分:2)

编辑:仔细观察您的问题,似乎您正在搜索数组值中的匹配项。有一些类似于preg_match()的东西叫做preg_grep()

$arrMatchingValues = preg_grep("/^findme/", $array);

看看preg_match()。使用该页面中的一些示例代码:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

$subject是您要搜索的内容。 $pattern是您想要匹配的正则表达式模式。

答案 1 :(得分:0)

您将需要使用regular expression.在特定情况下,您应该遍历数组,并且对于每个项目,请使用preg_match(如链接文章中所详述)。任何匹配的项目都应该添加到另一个数组中,或者您可以随意使用它。