0

我正在制作一个网页,其中包含学生编号或学生姓名的一部分,然后搜索学生列表,然后返回学生编号和全名。当用户输入学号时,我已经完成了。我现在唯一的问题是用户输入名称时。我正在考虑使用strpos(),但我不知道下一步该怎么做。

这是我到目前为止得到的:

function search_name_list($file, $info)
{
    // get name list array
    $students = get_name_list($file)['students'];
    if (!$students)
    {
        return false;
    }

    // the user searched for the student number
    if (ctype_digit($info))
    {
        // return the name corresponding to the student number if found
        if (array_search($info, $students['snum']))
        {
            return $students['name'][$info];
        }
    }

    // the user searched for the name
    else
    {
        // convert array into string
        $content = implode('|', $students);

        // TODO...
    }

    return false;
}

我希望代码中的注释足够清晰,可以帮助大家理解问题。此外,如果您有关于使功能整体更好的建议,那么您也可以说出来。

编辑:我想我需要一个例子。

例如:数组包含 ["20111122953", "Acosta, Arbyn", "20111112345", "Mayer, Patrick"]。但是用户只输入了“Arbyn”或“Acosta”,然后我需要用我拥有的那个子字符串来搜索数组。然后返回我的名字对应的姓名和学号。

4

1 回答 1

0

您可以遍历您的结果:

 foreach($students AS $value){
     if(stripos($value, $search) !== false){
         echo 'got '.$value
         break;
     }
 }
于 2013-04-19T12:19:55.413 回答