PHP执行头文件:位置,无论IF语句参数

可能重复:
3个不同的等于

任何人都可以告诉我为什么,当使用下面的代码时,我被重定向到elephant.com,而不是看到'长颈鹿!

<?php
$foo="giraffe";
if($foo="elephant"){
header("location:http://www.elephant.com");
exit();
}else{
 echo $foo;}
?>

感谢您的期待

Ĵ


if($foo="elephant")

你在这里分配$foo ,而不是比较它; 你应该这样做:

if($foo=="elephant")

赋值操作的结果是刚分配的值; 在这种情况下,“大象”正在评估为真实。


你的if()语句有一个等号。 这不会在PHP中进行比较; 它设置值并返回true。

为了进行比较,您需要使用双等号或三等号:

if($foo == "elephant") { .... }

要么

if($foo === "elephant") { .... }

两者之间的区别在于double-equal不关心变量的数据类型,而triple-equal却不关心变量的数据类型。 在这种情况下,它们之间没有太大的区别,但值得学习和理解差异,因为如果你不了解它们,它们会咬你。 更多信息在这里:http://php.net/manual/en/language.operators.comparison.php

链接地址: http://www.djcxy.com/p/58471.html

上一篇: PHP executing header:location regardless IF statement parameters

下一篇: Php If else isn't working