【发布时间】:2017-07-04 20:25:25
【问题描述】:
以下 PHP if 条件语句处理错误且不起作用。
文件 $fname 具有文本值:“990,1000”,中间有逗号:
$myfile = fopen($fname, "r") or die("<script
type='text/javascript'>window.location.href =
'http://www.autorekrooter.com/activation.html';</script>");
$dt=fread($myfile,filesize($fname));
//File fname has values: "990, 1000"
fclose($myfile);
$myArray = explode(',', $dt);
//Now checking if Limit expired or not?
echo "<br>myArray[0] values is: " . $myArray[0] . " myArray[1] value is: " .
$myArray[1];
if ($myArray[0]>=$myArray[1]){
echo "<script>alert('You can't proceed further');</script>";
//echo "<script type='text/javascript'>window.location.href = 'register.html';</script>";
exit();
}
else{
echo "<script type='text/javascript'>window.location.href =
'gui.php';</script>";
echo "You can proceed";
exit();
}
当我在 php 文件中运行上述内容时,if 语句始终将 myArray[0] >= myArray[1] 的值视为 true 并显示 reigster.html 而在 $fname 文件中它是 990,1000 myArray[0]=990 和myArray[1]=1000 所以 myArray[0] 不应该大于 myArray[1] 并且 else 语句应该运行,但相反的情况正在发生。
关于为什么这不起作用的任何建议?
非常感谢您的回答。
【问题讨论】:
-
你能告诉我们$dt的内容吗
-
$dt="990,1000" 它从文件中读取。在 cmets @Grumpy 中给出
-
将 $myArray[0] 和 $myArray[1] 转换为 int 然后检查 $firstval= (int) $myArray[0]; $secondval= (int) $myArray[1] 并比较 $firstval 和 $secondval
标签: php if-statement