逻辑运算符 递增 递减运算符 三元运算符

// 逻辑运算符
 
 
 
 
 
$house = 180;
$car = '';
 
if($house || $car) {
    echo '可以嫁';
} else {
    echo '再等两年';
}
 
echo '
';
 
 
 
$house = 0;
$car = 'BMW';
 
if($house || $car) {
    echo '还是可以嫁';
} else {
    echo '再等两年';
}
 
echo '
';
 
 
 
$house = 0;
$car = '';
 
if($house || $car) {
    echo '还是可以嫁';
} else {
    echo '再等两年';
}
 
echo '
';
 
 
// 逻辑且, 条件"并且"的关系
 
 
$house = 180;
$car = '';
 
$res = $house && $car; // 把$house && $car的逻辑运算结果,赋给$res
 
var_dump($res);
 
if($res) {
    echo '还是可以嫁';
} else {
    echo '再等两年';
}
 
echo '
';
 
 
// ===奋斗两年=== //
$house = 180;
$car = 'BYD';
 
// $res = $house && $car=='BMW'; // 如果这样写,3者,谁先结合呢? 牵涉到运算优先级的问题.
// 我们推荐,在多个量进行运算的时候,需要先在一块的单元,用()包起来
// 这样可以使程序易读,易理解,不容易产生歧义.
// 同学们请注意: 写程序是为了更好的使用和维护,一定要让程序尽量的清晰,无歧义,好理解.
// 而不要去炫耀技巧
 
 
$res = $house && ($car == 'BMW'); // 真 && 假 ,假
var_dump($res);
 
if($res) {
    echo '还是可以嫁';
} else {
    echo '再等两年';
}
 
echo '
';
 
 
// =======再奋斗2年===== //
$house = 180;
$car = '宾利';
 
if($house && ($car == 'BMW')) {
    echo '还是可以嫁';
} else {
    echo '再等两年(看走眼了...)';
}
 
echo '
';
 
 
 
// ====  八年过去=====
$age = 22;
$age = $age + 4*2;
 
 
if($age >= 30) {
    echo '88了您';
} else {
    echo '我继续奋斗';
}
 
 
 
 
 
 
// 结果昨天学的 赋值运算符,和今天的逻辑运算符
 
 
$a = 3;
$b = 5;
 
if(($a = 8) || ($b = 9)) {
    $a = $a + 1;
    $b = $b + 1;
}
 
echo $a,'~',$b,'
';
 
 
 
echo '
';
 
$a = 3;
$b = 5;
 
if(($a == 3) && ($b = 99)) {
    echo $a,'~',$b,'
';
}
 
 
echo '
';
$a = 3;
$b = 5;
 
if(($a > 3) && ($b = 99)) {
    echo $a,'~',$b,'
';
} else {
    echo $a,'~',$b,'
';
}
 
 
 
 
$a = 3;
$b = 5;
 
if($a == 3 && $b > 5 || $a > 3 && $b == 5 ) {
    echo 'aaaa';
} else {
    echo 'bbbb';
}
 
 
 
if( ($a == 3 && $b > 5) || ($a > 3 && $b == 5) ) {
    echo 'aaaa';
} else {
    echo 'bbbb';
}
 
// 逻辑反
// 一个命题如果是真命题,则其反命题, 是假命题.
 
$a = true;
 
if($a) {
    echo 'hello';
} else {
    echo 'world';
} // hello
 
 
echo '
';
 
 
if(!$a) {
    echo 'hello';
} else {
    echo 'world';
} // world
 
// $a为真,因此 !$a,即$a的反命题,为假
// 异或运算 xor 
 
 
// 异或是指, 两个条件必须"一个真,一个假,才为真"
 
 
$li ='女';
$mei = '男';
 
 
// 这个异或表达的是,必须一个为男,一个不为男,整体才为真.
if(($li == '男') xor ($mei == '男')) {
    echo '可以结婚';
} else {
    echo '好基友,去北欧';
}
 
 
 
 
$a=3;
$b=5;
if($a=5 || $b=7)
{
$a++;
$b++;
}
echo $a ." ".$b;
 
 
$a =3 = 4;
 
echo $a;
 
// 三元运算符
 
 
// 比如 在网站中判断一个人有没有登陆.
// 如果登陆,用户名不为空,则显示其用户名.
// 如果没登陆,用户名为空,则显示 "游客"
 
 
$user = 'zhangsan';
 
if($user != '') {
    echo $user;
} else {
    echo '游客';
}
 
echo '
';
 
$res = ($user!=''?$user:'游客');
echo $res;
 
 
$user = '';
echo '
';
echo $user!=''?$user:'游客';
 
 
// 程序如果没用三元运算符,可以用什么代替?
// 可以用if/else代替.
// 三元只是一个简化的写法.
// 而且效率没有if else 高.
 
// 递增 递减运算符
// 就是语言中没有递增 递减,也不会影响我们写程序.
// 也是一些场景的简化写法
 
$b = 2;
$a = $b + 1;
 
echo $a,'~',$b,'
'; // 3~2
 
 
$b = 2;
$a = $b++;
echo $a,'~',$b,'
'; // 2~3
 
 
 
$b = 2;
$a = ++$b;
echo $a,'~',$b,'
'; // 3~3
 
 
 
 
$b = 3;
$a = $b--;
echo $a,'~',$b,'
'; // 3~2
 
$b = 3;
$a = --$b;
echo $a,'~',$b,'
'; // 2~2
 
 
/**
燕十八 公益PHP培训
课堂地址:YY频道88354001
学习社区:www.zixue.it
**/

posted on 2012-09-25 00:04  besile  阅读(215)  评论(0)    收藏  举报