位运算符
& 与操作符
| 或操作符
^ 异或操作符
~ 非操作符
>> 右移操作符
<< 左移操作符
header("Content-Type:text/html;charset='utf-8'");
$a = 5;
$b = 3;
echo($a&$b)."
/>";
echo($a|$b)."
";
echo($a^$b)."
";
echo(~$a)."
";
echo($a<
/>";
echo($a>>$b)."
/>";
?>
输出:
1
7
6
-6
40
0
逻辑运算符
and或&& $a and $b或$a && $b
变量a与变量b都为TRUE,返回TRUE;变量a与变量b都为FALSE,返回FALSE;变量a与变量b有一个为FALSE,返回FALSE.
or或|| $a or $b或$a || $b
变量a与变量b都为TRUE,返回TRUE;变量a与变量b都为FALSE,返回FALSE;变量a与变量b有一个为TRUE,返回TRUE.
xor $a xor $b
变量a与变量b都为TRUE,返回FALSE;变量a与变量b都为FALSE,返回FALSE;变量a与变量b有一个为TRUE,返回TRUE.
! !$a 变量a为TRUE返回FALSE,变量a为FALSE返回TRUE
header("Content-Type:text/html;charset='utf-8'");
$a = true;
$b = false;
echo var_dump($a &&
$b)."
";
echo var_dump($a || $b)."
/>";
echo var_dump($a xor $b)."
/>";
echo var_dump(!$a);
?>
输出:
bool(false)
bool(true)
bool(true)
bool(false)
数组运算符
$a $b 将变量a与变量b保存的数组联合
== $a==$b 如果变量a与变量b保存的数组具有相同键值,返回TRUE
=== $a===$b 如果变量a与变量b保存的数组具有相同键值且顺序和数据类型一致,返回TRUE
!=或<> $a!=$b或$a<>$b
如果变量a与变量b保存的数组不具有相同键值,返回TRUE
!== $a!==$b 如果变量a与变量b保存的数组不具有相同键值且顺序和数据类型也不一致,返回TRUE
header("Content-Type:text/html;charset='utf-8'");
$a = array("1"=>one,"2"=>two);
$b =
array("color"=>"red","shape"=>"round");
$c =
array("1"=>"one","2"=>"two");
var_dump($a);
echo "
";
var_dump($c);
echo "
";
echo var_dump($a $b)."
";
echo var_dump($a==$c)."
";
echo var_dump($a===$b)."
/>";
echo var_dump($a!=$b)."
";
var_dump($a!==$c);
?>
输出:
array(2) { [1]=> string(3) "one"
[2]=> string(3) "two" }
array(2) { [1]=> string(3) "one"
[2]=> string(3) "two" }
array(4) { [1]=> string(3) "one"
[2]=> string(3) "two" ["color"]=>
string(3) "red" ["shape"]=> string(5) "round"
}
bool(true)
bool(false)
bool(true)
bool(false)