您的位置:首页 > 编程语言 > PHP开发

自学php-运算符

2015-11-07 16:25 405 查看
php运算符:运算符是用来对变量,常量或者数据进行计算的符号,对一个或一组值执行指定的操作,包括:算术运算符,字符串运算符,赋值运算符,位运算符,逻辑运算符,比较运算符,递增或递减运算符,错误控制运算符。

算术运算符:处理四则运算:+ - * /  %取余  递增++($a++  ++$a)   递减--($a--   --$a)

注意:在算数运算符中使用%求余,如果被除数是负数,那么结果也是负值, 递增和递减运算符,主要是对单独一个变量操作的。

递增与递减的使用:一种是先将变量增加或者减少一,然后再赋值给原变量,称为前置递增递减运算符。另一种是将运算符放在变量后面,即先返回变量的当前值,然后再将变量的当前值增加或者减少一,称为后置递增或递减运算符。示例如下:

<?php

//声明变量

$a = -100;

$b = 50;

$c = 30;

//输出变量

echo '$a ='.$a."<br>";

echo '$b ='.$b."<br>";

echo '$c ='.$c."<br>";

echo "<p>";

//运算

echo '$a+$b='.($a + $b)."<br>";

echo '$a-$b='.($a - $b)."<br>";

echo '$a*$b='.($a * $b)."<br>";

echo '$a/$b='.($a / $b)."<br>";

echo '$a%$b='.($a % $b)."<br>";

//递增递减运算

echo '$a++='.$a++."";

echo '运算后$a的值为:'.$a."<br>";//先赋值后运算

echo '$b--='.$b--."";

echo '运算后$b的值为:'.$b."<br>";//先赋值后运算

echo '++$c='.++$c."";

echo '运算后$c的值为:'.$c."<br>";//先运算后赋值

?>

输出结果为:

$a =-100
$b =50
$c =30

$a+$b=-50

$a-$b=-150

$a*$b=-5000

$a/$b=-2

$a%$b=0

$a++=-100运算后$a的值为:-99

$b--=50运算后$b的值为:49

++$c=31运算后$c的值为:31
字符串运算:运算符只有一个"." 将两个字符串连接起来,结合成一个新的字符串。这里要和“+”区别:示例如下:

<?php

$n = "3.1415926r*r";//声明一个数字开头的字符串变量

$m = 1;//一个整形变量

$nm = $n.$m;//使用“.”运算符,将两个变量链接起来

echo $nm."<br>";

$mn = $m + $n;//使用“+”将两个运算符链接起来

echo $mn."<br>";

?>

输出结果为:

3.1415926r*r1
4.1415926

赋值运算符:把运算符右边的值赋给左边的变量:=    +=   -=  *=  /=  .=  %

位运算符:对二进制位从低到高对齐后进行运算:&与    |或   ^异或  ~取反   <<左位移  >>右位移  不同于普通运算,按位运算是对二进制的运算 实例如下:

<?php

$m = 8;

$n = 12;

$mn = $m & $n; //位与

echo $mn."<br>";

$mn = $m | $n;//位或

echo $mn."<br>";

$mn = $m ^ $n;//位异或

echo $mn."<br>";

$mn = ~$m;//位取反

echo $mn."<br>";

?>

输出的结果为:8    12    4    -9

逻辑运算符:用来组合逻辑运算的结果  &&或者and逻辑与    ||或者or逻辑或   Xor逻辑异或(一真一假)  !逻辑非  逻辑与和逻辑或两种运算符的优先级不一样

实例:

<?php

$i =true;

$j =true;

$z = false;

if($i or $j and $z)//判断

echo "true";

else

echo "false";

echo  "<br>";

if($i || $j and $z)

echo "true";

else

echo "false";

?>

输出结果为:true     false 

可以看到两个if判断中除了or和||不一样外,其他都一样,但是结果却不同,注意其优先级

比较运算符:对变量或者表达式的结果大小真假进行比较,为真返回true为假返回false

<   >    <=    >=      ==     !=   ===值和类型都一样     !==或者数值不等或者类型不等  实例:

<?php

$value = "100";

echo "\$value = \"$value\"";

echo "<p>\$value==100:";

var_dump($value==100);

echo "<p>\$value==true";

var_dump($value==true);

echo "<p>\$value!=null:";

var_dump($value!=null);

echo "<p>\$value==false:";

var_dump($value==false);

echo "<p>\$value===100:";

var_dump($value===100);

echo "<p>\$value===true:";

var_dump($value===true);

echo "<p>(10/2.0 !==5):";

var_dump(10/2.0 !==5);

?>

输出结果为:

$value = "100"

$value==100:
true

$value==true
true

$value!=null:
true

$value==false:
false

$value===100:
false

$value===true:
false

(10/2.0 !==5):
true

错误控制运算符:在表达式前加上@,即可屏蔽掉不影响程序运行的错误提示信息,但是不能更正错误。实例:
<?php

$err = @(5 / 0);

?>     没有输出结果  但是如果不加@符号会报错

三元运算符(?:):也叫三目运算符,用于根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序中选择,最好放在括号里使用  实例:

<?php

$value=100;

echo ($value==true)?三元运算:  没有该值;//对整型变量进行判断

?>

输出结果为:三元运算

运算符的优先顺序和结合规则:优先级高先计算,同级的从左到右计算,其他和四则运算基本一样,包括括号;符号较多,具体参考手册。

注意:为了尽可能减少运算符的使用,可以多使用括号     实例:

<?php

$a and (($b != $c) or (5 * (50 - $d)))

?>

PHP表达式:表达式是php程序语言的基本元素,几乎所有的对象都是表达式,最基本的形式是常量和变量,可以说一个;结尾的就算是一个表达式  实例:

<?php

"fine";

$a = "word";

?>   这就是两个表达式组成的脚本

<?php

$b = $a = 5;

?>  php的赋值是从右到左的,所以变量$a和$b都被赋值5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: