1

我是 PHP 新手。

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

例如:如果用户输入“oh”,搜索将找到任何包含“oh”的项目,因此该项目可能是 John。

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

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

当然,一旦找到该项目,还有其他代码可以做某事。我见过很多 substr 方法和 STRPOS 函数,我只是不知道如何使它与我的代码一起工作。

4

2 回答 2

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是您要匹配的正则表达式模式。

于 2013-02-24T03:11:11.090 回答
0

您将需要使用正则表达式。在您的特定情况下,您应该遍历数组,并为每个项目使用 preg_match (如链接文章中所述)。任何匹配的项目都应该添加到另一个数组中,或者你可以用它做任何你想做的事情。

于 2013-02-24T03:09:00.037 回答