【问题标题】:PHP check | (OR) operator in variable assignmentPHP检查 |变量赋值中的 (OR) 运算符
【发布时间】:2017-05-14 00:14:20
【问题描述】:

我想检查两个变量 ab 并将这两个变量都分配给新变量“c”,并希望从这两个变量中获取 OR 结果。例如,如果a=1b=0c 必须为1,而如果a=0b=1c 必须为1,如果a=0b=0c=0,为此目的我使用以下| 运算符,它返回所需的结果,但我不确定我做的是否正确

<?php 
$a = 0; 
$b = 1;     
$c = $a | $b;
echo("Value in $c = ".$c); 
?>

编辑:我浏览了 PHP.NET 网站并发现:

 $a | $b    Or (inclusive or)   Bits that are set in either $a or $b are set.

参考:http://php.net/manual/en/language.operators.bitwise.php

【问题讨论】:

  • | 是按位或。你可能正在寻找||(这是一个逻辑或)
  • 但我刚刚检查了||不返回所需结果的运算符?
  • 确保您了解按位 (|, &amp;, ...) 和逻辑 (&amp;&amp;, ||,...) 运算符之间的区别。
  • 在您的场景中,您确实需要按位或|,而且您做得对。

标签: php operators operator-keyword assign


【解决方案1】:

假设您只有问题中的状态,您可以使用三元组来执行此操作。它可能会帮助其他人了解您将来在做什么

$c = ($a || $b) ? 1 : 0;

您在问题中的处理方式没有任何问题。

【讨论】:

  • 如果 $a=1 且 $b = 1,那么 $c 将是“0”,对吗?
  • 而如果变量“a”和“b”中的任何一个都是“1”,我需要得到 $c = 1
  • @Machavity 您编写的代码返回的结果与我的代码相同吗?不是吗?
  • @AbdulRahman 你的方式没有问题。我的只是一种不同的方式,可能更容易理解。结果相同
猜你喜欢
  • 2014-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 2017-12-06
  • 2012-08-13
  • 1970-01-01
  • 2014-01-08
相关资源
最近更新 更多