PHP返回值,但为false
我有一个简单的功能:PHP返回值,但为false,php,Php,我有一个简单的功能: function isMember($uID, $pdo) { $status = getUserStatus($uID, $pdo); if(isAllowed($status['status'])) return $status['status']; return false; } 现在,我正在寻找一种返回false yes的方法,但也要返回变量的值 我尝试了以下操作,但它仍然使其为空: return $status['stat
function isMember($uID, $pdo) {
$status = getUserStatus($uID, $pdo);
if(isAllowed($status['status']))
return $status['status'];
return false;
}
现在,我正在寻找一种返回false yes的方法,但也要返回变量的值
我尝试了以下操作,但它仍然使其为空:
return $status['status'] == false;
因此logi无论如何都返回false,但也会返回变量的值,即使它是false,因为false不应表示为空:)函数不能返回多个值,但通过(1)返回数组或(2)可以获得类似的结果通过引用传递变量,并存储希望在该变量中返回的值
- 无法返回的值
- 表示真/假的标志
函数isMember($uID、$pdo和statByRef){
$status=getUserStatus($uID,$pdo);
如果(被允许($status['status']){
返回$status['status'];
}
$statByRef=$status['status'];
返回false;
}
False在PHP中返回空值,请参阅
从文件:
确定变量是否为空。如果变量不存在或其值等于FALSE,则认为该变量为空。如果变量不存在,empty()不会生成警告。返回一个数组,并使用
list()
方法获取结果:
function isMember($uID, $pdo) {
$status = getUserStatus($uID, $pdo);
$statusString = $status['status'];
$statusFlag = false;
if(isAllowed($status['status']))
$statusFlag = true;
return array($statusFlag,statusString);
}
//usage
list($flag,$msg) = isMember(5,"whatever");
echo "Access: $flag, with message $msg";
尝试使用类似以下内容:
function isMember($uID, $pdo) {
$status = getUserStatus($uID, $pdo);
if(isAllowed($status['status'])){
return $status['status'];
}
return false;
} // If isAllowed returns true, then PHP will return $Status['Status'];, if not then PHP will by default return false.
我注意到您没有使用大括号,这使得代码调试起来有点笨拙。然后像这样验证:
if (isMember($Var,$AnotherVar) !== false){
//isMember has not returned false, so PHP is operating within these braces
}
这么简单的事情,应该是最有效的
如果您希望将true/false分配给$status['status'];那么您执行的方法是正确的,但运算符是错误的
=
是一个比较运算符。非转让
=
是赋值运算符,因此您的赋值应为:
$status['status']=false
您希望返回$status['status']==false代码>(请注意双等号)。很抱歉,无法正确设置最后一个函数的格式。使用
修复了该问题。文本编辑器的格式不正确:)
if (isMember($Var,$AnotherVar) !== false){
//isMember has not returned false, so PHP is operating within these braces
}