php学习笔记之运算符比较&优先级

来源:互联网 发布:淘宝的运费险退到哪里 编辑:程序博客网 时间:2024/05/11 02:54
//3.20


//如果比较一个整数和字符串,则字符串会被转换为整数。
//如果比较两个数字字符串,则作为整数比较。此规则也适用于 switch 语句。
<?php
var_dump("a" == 0); // 0 == 0 -> true
var_dump("a" == 1); // 0 == 0 -> false
var_dump("a" == '0'); // 0 == 0 -> false
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("1" == "1e0"); // 1 == 1 -> true
switch ("a") {
case 0:
    echo "0";
    break;
case "a": // never reached because "a" is already matched with 0
    echo "a";
    break;
}
?>
bool(true) bool(false) bool(false) bool(true) bool(true) 0


===========================================================
//3.24 优先级  逻辑运算符
<?php


// 下面的 foo() 不会被调用,因为它们被运算符“短路”了。
$a = (false && foo());
$b = (true  || foo());
$c = (false and foo());
$d = (true  or  foo());


// "||" 的优先级比 "or" 高
$e = false || true; // $e 被赋值为 (false || true),结果为 true
$f = false or true; // $f 被赋值为 false [Altair注:"=" 的优先级比 "or" 高]
var_dump($e, $f);


// "&&" 的优先级比 "and" 高
$g = true && false; // $g 被赋值为 (true && false),结果为 false
$h = true and false; // $h 被赋值为 true [Altair注:"=" 的优先级比 "and" 高]
var_dump($g, $h);
?> 




======================================================
//3.24


<?php
$i = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$i . "\n";
}
?> 




以上例程会输出:


 
X
Y
Z
AA
AB
AC