zoukankan      html  css  js  c++  java
  • 细说php(三) 运算符与表达式

    一、算术运算符    +   -  *  /  %  ++  --

    <?php
    	$a = 100;
    	$a++;       // $a=$a+1;  先用变量再自增1
    	++$a;       // $a=$a+1;  先用自增1再用变量
    	$a--;       // $a=$a-1;  先用变量再自减1
    	--$a;       // $a=$a-1;  先用自减1再用变量
    	echo "a = ".$a."<br>";    // 100
    	
    	$b = $a % 3.3; // % 会把两边的数转为整数后再进行整除
    	echo "b = ".$b;
    ?>

    二、字符串运算符

    <?php
    	$name = "tom";
    	$age = 27;
    	$height = 1.75;
    	
    	echo "我的名字是:{$name} 我的年龄是:{$age} 我的身高是:{$height}米<br>";
    	echo '我的名字是:' . $name . ' 我的年龄是:' . $age . ' 我的身高是:' . $height . '米' . '<br>';
    	echo '我的名字是:' , $name , ' 我的年龄是:' , $age , ' 我的身高是:' , $height , '米' , '<br>';
    ?>

    三、赋值运算符    =   += -= *= /= %=  .=

    <?php
    	$a = 10;
    	$a += 10;     // $a = $a + 10;
    	$a -= 10;     // $a = $a - 10;
    	$a *= 10;     // $a = $a * 10;
    	$a /= 10;     // $a = $a / 10;
    	$a %= 10;     // $a = $a % 10;
    	$a .= "abc";  // $a = $a . "abc";
    ?>

    四、比較运算符    >  <  >= <= == ===  != 或<> !==

    <?php
    	/**
    		===  比較时不仅要求内容同样,也要求类型同样
        	!==  比較时不仅要求内容不同样,也要求类型不同样
        **/
    	$a = 100;
    	if ($a === "100") {
    		echo "111111111111111";
    	} else {
    		echo "000000000000000";
    	}
    ?>

    五、逻辑运算符    && 或and  ||或 or  ! 或not  

    <?php
        // 逻辑运算符仅仅能操作bool型值, 返回的也是bool型值
        // 与Java一样&&和||也有短路的问题
        
    	var_dump(true && true);   // true
    	var_dump(true and false); // false
    	var_dump(true || false);  // true
    	var_dump(true or false);  // true
    	var_dump(!false);         // true
    ?>

    六、位运算符      &   | ^ ~   <<  >> >>>

    <?php
    	/***************************************************************
    	 *  20          000000000  00000000 000000000 00010100
    	 *  30          000000000  00000000 000000000 00011110    &
    	 *  ------------------------------------------------------------
    	 *              000000000  00000000 000000000 00010100    20
    	 ***************************************************************/
    	 
    	 $a = 20;     //  16+4      00010100
    	 $b = 30;     //  16+8+4+2  00011110
    	 $c = $a & $b;
    	 echo $c . "<br>"; // 20
    	
    	
    	/***************************************************************
    	 *  20          000000000  00000000 000000000 00010100
    	 *  30          000000000  00000000 000000000 00011110    |
    	 *  ------------------------------------------------------------
    	 *              000000000  00000000 000000000 00011110    30
    	 ***************************************************************/
    	 
    	 $a=20;       //  16+4      00010100
    	 $b=30;       //  16+8+4+2  00011110
    	 $c= $a | $b;
         echo $c . "<br>"; // 30
    
    
    	/***************************************************************
    	 *  20          000000000  00000000 000000000 00010100
    	 *  30          000000000  00000000 000000000 00011110    ^
    	 *  ------------------------------------------------------------
    	 *              000000000  00000000 000000000 00001010    10
    	 ***************************************************************/
    	 
         $a = 20;   //  16+4      00010100
         $b = 30;   //  16+8+4+2  00011110
         $c = $a ^ $b;
         echo $c . "<br>"; // 10
         
         $c = ~$a ;
         echo $c . "<br>"; // -21
         
        /***************************************************************
         *                  00000000  00000000 000000000 000101 >> 2
         *		00000000  00000000 000000000 0001010000  << 2
         ***************************************************************/
         $c = $a << 2 ;
         echo $c . "<br>"; // 80
    ?>

    七、其它运算符   ? :  ``  @  => -> ::  & $

    <?php
    	// 三目运算符
    	$a = 10;
    	$b = $a > 50 ? $a : 5;
    	echo $b;
    	
    	// 运行系统命令
    	$str=`ipconfig /all`;
    	echo '<pre>';
    	echo $str;
    	echo '</pre>';
    	
    	// 隐藏异常信息
    	@getType();
    	echo "##############<br>";
    ?>


  • 相关阅读:
    HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
    php中0," ",null和false的区别
    php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项。
    php 解决上传中文文件名时出现乱码的问题
    php学习之有用的资源 总结
    php 问题及原因总结
    php 汉字验证码
    php 图片验证码
    php 字母和数字验证码
    php 使用imagettftext()函数出问题的原因
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4033591.html
Copyright © 2011-2022 走看看