在PHP中使用布尔运算

在PHP中使用布尔运算,php,boolean-operations,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); $c

嗯,我来自编译语言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);
}

我提出的问题是,
&=
看起来工作不正常。是否需要使用其他布尔运算符?

始终先阅读手册:

位运算符!=逻辑运算符

我想你正在寻找这个:

//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);

您应该从教程、基本课程、基本文档开始,以避免此类问题。

始终先阅读手册:

位运算符!=逻辑运算符

我想你正在寻找这个:

//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);

您应该从教程、基础课程、基本文档开始,以避免此类问题。

&是位运算符。对于bloolean使用&&,如

`$correct =  $correct && is_ok($name);`
因为

echo 1 & 2 

给出0是位运算符。对于bloolean使用&&,如

`$correct =  $correct && is_ok($name);`
if (is_ok($name) && is_ok($last_name) && is_ok($nickname) && is_ok($best_friend)) {
  echo "Good.";  
} else{
  echo "Bad.";
}
因为

echo 1 & 2 
给0

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);
或者更简单地说

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);


这不是有效的PHP代码。您能发布实际的代码吗?请先阅读一些PHP教程,然后再试一次。请先查看$variables部分的入门资料。@Burnkhalid,我已经更新了文章。这是我的密码。伙计们,对不起。。所有这些都是输入错误。事实上,操作符
&=
是有效的,并且按照@manix的要求工作。请参阅:这不是有效的PHP代码。您能发布实际的代码吗?请先阅读一些PHP教程,然后再试一次。请先查看$variables部分的入门资料。@Burnkhalid,我已经更新了文章。这是我的密码。伙计们,对不起。。所有这些都是输入错误。事实上,操作符
&=
是有效的,并且按照@manix的要求工作。看:嘿,有用!但是你知道吗?我试图复制“字符串短连接”,比如
$string.=$foo
,但它适用于布尔人,这让我有点困惑bit@manix没关系,但是1。仍然
&
不是逻辑运算符。2.为什么你们要复制一些东西而不是阅读手册?我会记住的!谢谢你和其他人的帮助。嘿,有用!但是你知道吗?我试图复制“字符串短连接”,比如
$string.=$foo
,但它适用于布尔人,这让我有点困惑bit@manix没关系,但是1。仍然
&
不是逻辑运算符。2.为什么你们要复制一些东西而不是阅读手册?我会记住的!谢谢你的帮助,也谢谢其他人。这太不干净了
:P
也就是说,我可能只需要让
是ok()
接受一个或多个变量进行测试。简单一点,最后一个就是我要找的!非常感谢你。这太不干净了
:P
也就是说,我可能只需要让
是ok()
接受一个或多个变量进行测试。简单一点,最后一个就是我要找的!多谢各位