php-检查值是否在csv文件中
我试图检查两个php值是否在csv文件的一行中 csv: 密码、姓名 最大12345 44444,埃米尔 但是当我的变量是$password=“123”并且在csv文件中是“12345”时,他接受它 但是,我如何检查它是否100%相等?我不明白为什么“123”就足够了php-检查值是否在csv文件中,php,csv,Php,Csv,我试图检查两个php值是否在csv文件的一行中 csv: 密码、姓名 最大12345 44444,埃米尔 但是当我的变量是$password=“123”并且在csv文件中是“12345”时,他接受它 但是,我如何检查它是否100%相等?我不明白为什么“123”就足够了 $search = $name; $search2 = $password; $lines = file('Benutzer.csv'); $line_number = false; $line_nu
$search = $name;
$search2 = $password;
$lines = file('Benutzer.csv');
$line_number = false;
$line_number2 = false;
while (list($key, $line) = each($lines) and !$line_number) {
$line_number = (strpos($line, $search) !== FALSE );
$line_number2 = (strpos($line, $search2) !== FALSE );
}
if($line_number and $line_number2 ){
header('Location: alert_anmelden_erfolgreich.php');
}
else{
header('Location: alert_anmelden_NICHT_erfolgreich.php');
}
在字符串中查找子字符串。所以,首先要做的事情”
将返回2
,因为子字符串从该索引开始存在。在您的情况下:
strpos('12345','123')
或者真的1,12123123412345
都将返回位置0。现在,当与false
相等时,您基本上得到:
0==`false`
这当然是正确的,因为
0
一个值将被强制转换为false
。作为@u\u mulder,使用完整类型的相等运算符==
可以解决这个问题,但仍然不能解决您的问题。您需要的是strcmp
,它将返回0(false)
仅当字符串完全相同,并且可以按照您的需要使用。您也可以在字符串之间使用==
或==
,因为您不关心“少/多”字符串
if( $line === $search )
使用
==
或strcmp
而不是strpos
if( $line === $search )