将输入字段中的字符串与多维数组中的值进行比较

时间:2017-10-03 21:20:27

标签: php arrays

 $klasseinput = strtoupper(trim($_POST["klasseliste"]));
 $data = file('student.txt');
 $data = array_filter($data);
 foreach($data AS $row){
    $student[] = explode(';', $row);
 }
    $antall = count($student);
    for ($i = 0; $i < $antall; $i++){
        if($klasseinput == $student[$i][3]){
            print('<tr><td>'.$student[$i][0]."</td><td>".$student[$i][1]."</td><td>".$student[$i][2]."</td><td>".$student[$i][3]."</td></tr>");
        }
    }


/////////STUDENT.txt//////////
    ph;petter;hanssen;IT1
    gb;Geir;Bjarvin;IT2
    mj;Marius;Johansen;IT3
/////////////////////////////

我正在尝试将输入表单与multidimension数组中的项进行比较,但即使输入字段中的变量与数组中的值完全相同,它也不会通过if检查。

$ student [0] [3] = IT1

$ student [1] [3] = IT2

$ student [2] [3] = IT3

2 个答案:

答案 0 :(得分:0)

如果您确定没有空白区域会破坏比较,那么您可能会发现这样的函数对于查看比较两侧的字符串很有用。你可能会发现有些虚假的角色会造成麻烦。

function hexdump($str)
{   
    for($i=0; $i<strlen($str);$i++)
    {
        echo "[$i] [".bin2hex($str[$i])."] [".$str[$i]."]<br />";

    }
}

例如,从文件读取的字符串可能包含CR LF字符。你可以使用str_replace()摆脱它们。

答案 1 :(得分:0)

感谢Ravinder Reddy提供的答案很简单,对我有用:

&#34;修剪\ t \ n的值如果($ klasseinput == trim($ student [$ i] [3])){&#34;