学习第三弹
前言
上次学习了PHP语言的常量内容,并对之前的变量内容进行了补充,这次来说一下运算符以及一些语句
运算符
概念
运算符就是对于数据进行运算处理的符号。
算数运算符
分类
算术运算符有:“+”、“-”、“*”、“/”、“%”、“++”、**“–”**这几类
+
**“+”**就单纯的是个加号,表示两个数据相加的结果
在这里我其实有一个疑问,就是为什么字符串在单纯的就是这样一个+号表达式里会被认为是0处理?
关于这个,我在网上进行了查找,找到了问题的答案,就是说字符串在与整数相加时,有着如下的转换规律:
'1aaa' => 1
'11aaa' => 11
'222asdsa' => 222
'aaaaa1'=>0
就是说字符串开头没有数值的话,会按0处理,而有数值的话会转换成相应的数值,即:
-
“-”其实和上面说的一样。这里不进行过多的记录了就。
不过“-” 还有一个意思,就是取反
*
/
%
“%” 和别的语言其实一样,就是取余。
++
<?php
$a=1;
//echo $a++;
echo '<br />';
echo ++$a;
对于这两种方法,输出的结果是不一样的。前加加表示先加,后加加表示后加,因此结果不一样,不过如果在前面先加加,在输出的话值是一样的。
不过如果上面的代码不把第三行注释掉的话,输出的结果就会变成 1 3。因为在$a++
这一句中输出了a的值,再对a进行加加。
<?php
$a=1;
#$a++;
++$a;
echo $a;
这样子输出的结果是一样的。
总的来说,就是前加加是先加,后返回;后加加是先返回后加。
–
“–” 和**“++”** 效果一样,就不多说了。
注意:++和–是对于变量而言的
字符串运算符
字符串运算符是一个**“.”**,用于连接字符串。
赋值运算符
分类
有**“=”、“-”、“+=”、“-=”、“*=”、“/=”、“.=”、“%=”** 几类。
=
可以把它看成是一个数学中的等于号,只不过叫做赋值,
比如:$a=1
,就是指把 “1” 的值赋给 “变量a”。
-
在上面说过了,就是指取相反数。
+=、-=、*=、/=、.=、%=
这几种的意思其实是一样的。
$a+=1;//$a=$a+1
$a-=1;//$a=$a-1
$a*=1;//$a=$a*1
...
比较运算符
分类
==(等于)、===(全等)、!=(不等于)<>、!===(不全等)、>、<、>=、<=。
用法
<?php
$a=1;
$b='1';
var_dump($a==$b)//输出blooen true
var_dump($a===$b)//输出blooen false
var_dump($a!=$b)//输出blooen false
var_dump($a<>$b)//输出blooen false
var_dump($a!==$b)//输出blooen true
var_dump($a>$b)//输出blooen false
var_dump($a>=$b)//输出blooen true
var_dump($a<=$b)//输出blooen true
var_dump($a<$b)//输出blooen false
?>
规定
在对数据数进行比较操作时,输出的都是布尔类型数据。
在PHP中用echo
输出布尔类型数据时,
<?php
echo true;//输出1
echo false//无输出
?>
可以用上面说过的var_dump()
来输出。
逻辑运算符
分类
就是几种与、或、非、异或。
逻辑运算规则
运算的数值都是布尔类型,如果不是会自动转换为布尔类型,再进行运算。输出的也是布尔类型。
认为是布尔类型是false的值
1、布尔值false
2、0
3、浮点型0.0
4、空白字符串和字符串0
5、没有成员的数组
6、NULL
逻辑运算符的使用
<?php
$a=true;
$b=false;
var_dump($a && $b)//与运算 输出false
var_dump($a and $b)//与运算 输出false
var_dump($a or $b)//或运算 输出true
var_dump($a || $b)//或运算 输出true
var_dump(!$b)//非运算 输出true
var_dump($a xor $b)//异或运算 输出true
?>
位运算符
概念
对操作数中的每一个二进制位进行运算。
其他运算符
?:
三元运算符
使用格式:表达式1 ? 表达式2 : 表达式3;
运算规则:
如果表达式1为true,那么执行表达式2,否则执行表达式3。
<?php
$a=true ? 20 : 10
echo $a;//输出20
?>
``
用途:可以将系统的命令放在代码里执行
但是由于跨平台原因,很少用到,(个人感觉还有涉及到安全问题)。
@
用途: 屏蔽表达式可能出现的错误
注意是表达式。
<?php
echo $a;//因为没有对变量a赋值,因此会报错
@echo $a;//echo不是表达式,会报错
echo @$a;//输出null
?>
=> 、-> 、instanceof
三种运算符还没有接触,之后往后面深入学习之后,会补充回来。
循环语句
while循环语句
<?php
$i=1;
while($i<=10){
echo "while循环语句".<br />//输出十次“while循环语句”,换行输出
}
?>
do while 循环语句
<?php
$i=1;
do{
echo "do while循环语句"
echo "\n"
$i++;
}while($i<=10)//换行输出十次“do while循环语句”
?>
for 循环语句
<?php
for($a=1; $a<=10; $a++){
echo "for循环语句".<br />//换行输出十次“for循环语句”
}
?>
效果图
结尾
第三弹大概就学了这么多,等下次再总结其他的,加油!!!