在PHP中使用布尔运算

时间:2012-08-25 17:44:46

标签: php boolean-operations

好吧,我来自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);
}

我发出的问题是&=看起来无法正常工作。我需要使用另一个布尔运算符吗?

3 个答案:

答案 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