好吧,我来自Java编译语言,现在我试图在某些特定领域处理PHP。今天,我已经创建了一个"测试表格"为了知道如何检查有效值,现在我有一点问题。
假设我有多个要评估的字段,使用布尔变量我想做这样的事情:
//ASSUMING THAT ALL IS CORRECT
$correct = true;
$correct &= is_ok($name);
$correct &= is_ok($last_name);
$correct &= is_ok($nickname);
$correct &= is_ok($best_friend);
if (!$correct) {
//AT LEAST ONE FIELD IS INCOMPLETE
}
else
{
// EVERYTHING IS OK
}
function is_ok($field){
return !empty($field);
}
我发出的问题是&=
看起来无法正常工作。我需要使用另一个布尔运算符吗?
答案 0 :(得分:3)
请务必先阅读手册:
按位操作符!=逻辑运算符
我认为你正在寻找这个:
//ASSUMING THAT ALL IS CORRECT
$correct = true;
$correct = $correct && is_ok($name);
$correct = $correct && is_ok($last_name);
$correct = $correct && is_ok($nickname);
$correct = $correct && is_ok($best_friend);
你应该开始形式教程,基础课程,基本文档以避免这类问题。
答案 1 :(得分:1)
if (is_ok($name) && is_ok($last_name) && is_ok($nickname) && is_ok($best_friend)) {
echo "Good.";
} else{
echo "Bad.";
}
或更简单
if (!empty($name) && !empty($last_name) && !empty($nickname) && !empty($best_friend)) {
echo "Good.";
} else{
echo "Bad.";
}
如果你真的想按照你想要的方式写它:
$correct = true;
$correct = $correct && is_ok($name);
$correct = $correct && is_ok($last_name);
$correct = $correct && is_ok($nickname);
$correct = $correct && is_ok($best_friend);
答案 2 :(得分:0)
&安培;是按位运算符。对于布尔使用&&,像
`$correct = $correct && is_ok($name);`
因为
echo 1 & 2
给出0