作者rickysu (Ricky)
看板PHP
标题[教学] OR || AND && 不能乱用
时间Thu Jul 18 10:46:53 2013
这篇算是乱入文 XD
回归正题,在前几篇的讨论中有人使用到 And 这个 operator。
然而在 php 中 And 跟 && 是不同的东西,别混用了。
举个范例
<?php
$result1 = true AND false;
$result2 = true && false;
echo "refult1 => $result1 \n";
echo "refult2 => $result2 \n"
虽然在 PHP 的 spec 定义中,这两个都是 Logical And,但是结果却是完全不同。
最主要的原因在於 AND, OR, XOR 这几个运算子的优先权小於 = ,
会先执行左边的运算。相当於 ($result1 = true) AND false;
然而 &&, || 的优先权是高於 = 的,因此上面的执行结果相当於
$result2 = (true && false);
所以别乱用 AND 跟 &&喽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.136.115
1F:推 liaosankai:实用观念 07/18 10:57
2F:推 twsphere: 实用文 07/18 11:29
3F:推 tails32100:推推 可是我都习惯用&& Orz... 比较想知道效能的影响 07/18 11:36
4F:推 tkdmaf:我忘记以前是谁在讲or die()时就有提过这件事。 07/18 11:50
5F:推 a60301:推实用 07/18 18:10
6F:→ gname:习惯性用上括号就不用怕了...当作在写数学嘛...XD 07/19 22:00
7F:推 jackcomtw:原来有 AND 可以用 ....笔记... 09/10 14:14