Php 在if语句中返回变量-是否可以多次尝试?
我不确定我是否正确地定义了这一点,但我认为以下代码将是非常自我解释的:Php 在if语句中返回变量-是否可以多次尝试?,php,variables,if-statement,return,Php,Variables,If Statement,Return,我不确定我是否正确地定义了这一点,但我认为以下代码将是非常自我解释的: function a($p){ if($p===true){ return 'yep'; } else{ return false; } } if($test=a(true)){ echo $test; // this will echo out 'yep' } 上述代码按预期工作。我试图实现的是这样的目标: function a($p){
function a($p){
if($p===true){
return 'yep';
}
else{
return false;
}
}
if($test=a(true)){
echo $test; // this will echo out 'yep'
}
上述代码按预期工作。我试图实现的是这样的目标:
function a($p){
if($p===true){
return 'yep';
}
else{
return false;
}
}
if($test=a(false)||$test=a(true)){
var_dump($test); // this will show $test being bool(true) NOT yep
}
不做中间功能,这是可能的吗
我也尝试过:
if($test=(a(false)||a(true)){ ... }
无济于事
$test = a(false) || $test = a(true)
将被评估为
$test = ( a(false) || $test=a(true) )
逻辑运算符始终返回布尔值,因此|
表达式的结果将被分配给$test
如果您希望上面的表达式将字符串赋值给$test
,那么您必须使用或,它有一个接赋值运算符(在本上下文中我更喜欢这种方式):
或者正确设置括号:
($test = a(false)) || ($test = a(true))
将被评估为
$test = ( a(false) || $test=a(true) )
逻辑运算符始终返回布尔值,因此|
表达式的结果将被分配给$test
如果您希望上面的表达式将字符串赋值给$test
,那么您必须使用或,它有一个接赋值运算符(在本上下文中我更喜欢这种方式):
或者正确设置括号:
($test = a(false)) || ($test = a(true))
令人沮丧的是,我在接下来的10分钟内都不能投票认为这个答案是正确的。解决了的!谢谢令人沮丧的是,我在接下来的10分钟内都不能投票认为这个答案是正确的。解决了的!谢谢