自学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:
$value==true
$value!=null:
$value==false:
$value===100:
$value===true:
(10/2.0 !==5):
错误控制运算符:在表达式前加上@,即可屏蔽掉不影响程序运行的错误提示信息,但是不能更正错误。实例:
<?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
算术运算符:处理四则运算:+ - * / %取余 递增++($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
相关文章推荐
- ThinkPHP快速入门3-连贯操作,变量
- 用php处理百万级以上的数据提高查询速度的方法
- PHP iconv(): Unknown error (84)
- PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
- FTP的PORT(主动模式)和PASV(被动模式)
- PHP array_pop() 函数
- how to do a mass update in Laravel5 ( 在Laravel 5里面怎么做大量数据更新 )
- php访问数据库
- php传值
- Thinkphp中取消url中的index.php 和 Home 默认模块
- 详解PHP数组赋值方法
- php实现点击可刷新验证码
- PHP 统计数据功能 有感
- 其实,我对一个php站点,比较有印象的,详细分享下
- PHP 边执行边输出
- Mac 安装phpmyadmin提示无法登陆 mysql服务器解决办法
- php垃圾回收机制及内存泄露
- php 分割固定长度标题
- php面向对象学习(1)
- ThinkPHP快速入门2-CURD,查询