Rumah > Artikel > pembangunan bahagian belakang > PHP中的运算符及PHP知识基础
前言
在上一章中,我们初步了解了PHP的网页基础和PHP的入门基础,今天继续给大家分享更多有关PHP的知识。
理论知识看起来可能比较枯燥一些,但是我们的实践(敲代码)毕竟离不开它。
只有理论与实践相结合,才可以用最少的代码实现更多的功能。
***本章关键字:运算符;可变变量;取址符号;分支与循环;流程控制语句goto。
下面,我们来看了解一下PHP中的运算符及更多PHP知识基础:
1、算术运算符:+ - * / % ++ --
2、赋值运算符:= += -= *= /= %= .=(连接字符串)
3、比较运算符:> < >= <= == === <>、!= !==
==:要求值相等,而不需要数据类型相等
===:要求值和数据类型,必须相等
!=:只比较值,值相等为false
!==:比较值和类型,值和类型都相等为false
4、逻辑运算符:and/&& or/|| not/! xor
&&和||进行运算的时候,会发生短路:
当左侧能够判断出结果的时候,便不再执行右侧!!(&&左侧为假时,结果即为假;||左侧为真时,结果即为真)
xor:逻辑异或。两边只有一个对的,结果为true;两边同为true或同为false,结果都为false。
5、位运算符:
将10进制转为2进制,然后再进行运算。
&:按位与,转成二进制后,两个都是1,结果才为1
|:按位或,转为二进制后,有一个为1,就是1
^:按位异或,转成二进制后,两个不相同为1;两个都为1,或都为0,结果均为0。
~:按位取反,转成二进制数后,所有位数取反。1--->0 0--->1
<<:左移:转成二进制后,左移几位,右边空余位数补0。
num << n 相当于num*2^n(※※※)
>>:右移:转成二进制后,右移几位,左边空余位数补0。
num >> n 相当于num/2^n(※※※)
6、其他运算符:
表达式1?表达式2:表达式3:
表达式1成立执行表达式2,否则执行表达式3
``:调用系统dos环境下的命令行并执行。但是由于安全性以及跨平台性,我们并不支持使用;eg:`ipconfig`
@:错误信息控制符:可以临时屏蔽到一些小的错误信息。但是不提倡使用!
在一个变量名前面,再加一个$符号。即可将第一个变量的值,作为新变量的名字。
$hello = "hello1";
$$hello = "world";//$hello1
$$$hello = "Jredu";//$world
&:变量名前加&可以取出变量在内存中的地址,并可以赋给另一个变量。
$num2 = &$num1;//取出num1的地址给num2,相当于我们说的引用数据类型。num2和num1的值将同时改变。
1、if中的判断条件
详见请点击“好奇就点我吖!”上一章中的第二部分【PHP入门基础】,在这里,博主就不一一介绍了……
2、elseif
PHP中,elseif语句可以连写,也可以空格分隔;
例如:
else if() √
elseif() √
3、switch
PHP中,switch结构的判断,使用==判断,而非===
PHP中,continue可以用于switch结构,作用与break相同。
php中,continue和break可以后接数字,表示跳过几层循环或switch;
eg:break 3;表示终止3层循环
4、do-while循环
do-while循环的最后必须要加分号。
do{
}while();
5、流程控制语句
1、break:终止本层循环;break后面可接数字,表示终止几层循环。break 3,终止3层循环。
2、continue:跳过本次循环;continue后面也可接数字,表示跳过几层循环
3、return:终止当前函数,并返回值(如果有的话),但是一般只在函数中使用,脚本中不建议使用return;
4、exit(mixed 结束语)/die(mixed 结束语)函数:直接结束当前PHP脚本!!
如果有参数传入,则先打印出结束语,然后结束当前脚本。
1、用法:
定义一个跳转的锚点,"标识符"-->"jr:"
在任意位置,设置goto语句,跳转到指定锚点:"goto jr;"
2、作用:
遇到goto语句时,直接跳转到设置的标识符位置。
3、用于实现分支。
注意:goto语句只是让当前的程序控制流跳转到指定锚点,但是并不负责往下执行几行代码。
即,从锚点往下所有代码会依次执行。如果实现多路分支,需配合goto语句,跳过其他分支。(详见案例如下)
4、goto实现循环:
详见案例。但是,goto中,跳出循环不能使用break。
5、goto语句的优缺点:
①优点:使用灵活方便,指令级语句,效率更快,性能更好。
②缺点:goto的大量使用,对于代码的结构化是个灾难。
不利于清晰的代码结构,不利于理解代码,而且极有可能跳过某些重要的声明语句,导致代码错误。
理论不如实践,详情看下面代码↓↓↓
1 //goto语句实现分支 2 /*$num = true; 3 if(!$num){ 4 goto jh; 5 }else{ 6 goto jr; 7 } 8 9 jr:10 echo "3333333333333<br />";11 echo "4444444444444<br />";12 goto jj;13 14 jh:15 echo "5555555555555<br />";16 echo "6666666666666<br />";17 18 jj:*/19 20 //[1]goto循环21 $num = 0;22 jr:23 echo "1222222222221<br />";24 $num ++;25 if($num<5){26 goto jj;//通过goto跳出循环,注意不能使用break27 }28 goto jr;29 30 jj:31 echo "hahaha";32 33 /*//[2]goto实现循环34 $num=0;35 jr:36 echo"11111<br>";37 $num++;38 if($num<5){39 goto jr;40 }*/
以上就是今天要和大家分享的内容,希望对大家有所帮助~
博主再次提醒大家,理论知识是敲好代码的基础,不能忽视!【PHP基础入门】会持续更新,感谢大家的关注~~~
Atas ialah kandungan terperinci PHP中的运算符及PHP知识基础. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!