我使用if语句来确定在函数中返回什么,但它似乎没有按照我想要的方式工作。
function DoThis($dogs, $cats){
// do something with dogs, pet them perhaps.
$reg = $dogs[0];
$nate = $dogs[1];
if($cats = "dave"){return $reg;}
if($cats = "tom"){return $nate;}
}
$cats
是一个字符串(如果有帮助的话),输入时不会产生任何回报。
如果我手动设置一个返回,这是有效的,但上面没有出于某种原因。
答案 0 :(得分:6)
要测试相等性,请使用==(double equals)运算符而不是=(single equals)运算符。
例如:
if("dave" == $cats){return $reg;}
if("tom" == $cats){return $nate;}
答案 1 :(得分:6)
您正在使用赋值运算符而不是比较运算符。请尝试以下方法。
$cats == "dave"
$cats == "tom"
当你说
时 if($cats = "dave") { ... }
你真的在说
这是一个常见的错误,也是困扰旧手和新手的东西。
答案 2 :(得分:2)
您需要使用==进行比较。
=是一个赋值,所以它具有将$ cats设置为“dave”的效果,然后(因为表达式求值为“dave”,这是非空的)它将if语句视为“if(true) )...“并执行包含的代码。