date_diff php PHP从基础到入门(一)

date_diff php PHP从基础到入门(一)

本文章为连载文章PHP入门的第一篇

建议先阅读前篇文章:小白教你PHP基础

运算符

算术运算符

基础:

符号有:+ – * / %

说明:

1,他们都是针对数字进行的运算;

2,如果他们的两边有不是数字的数据,就会(自动)转换为数字;

3,其中取余运算(取模运算)%,它只针对“整数”进行运算,如果不是,会自动截取为整数。

11. 3 % 3 相当于 11 % 3;

11.8 % 3. 8 相当于 11 % 3;

自增自减运算符:

常规:对数字进行自加1或自减1。

字符串: 只能自增,且自增的效果就是“下一个字符”,其只能针对字母或数字进行自加:

布尔值递增递减无效

null递减无效,递增结果为1

字符串自增的例子:

前自增和后自增的区别(自减类似)

通常,我们在循环中,推荐使用前加加date_diff php PHP从基础到入门(一),比如:

for($i = 1; $i < 10000; ++$i){ ……. }

演示前加加后加加进行1千万次的“效率比较”:

比较运算符

符号:> >= < false

否则,如果有数字值,就转为数字值比较:这就是常规比较。

否则,如果两边都是“纯数字字符串”,转为数字比较

否则,就按字符串比较。字符串比较的规则是:

对两边的字符串,一个一个从前往后取出字符并进行比较,谁“先大”,结果就是它大。

“abc” > true //? false

“abc” > false //true

“0” > false //false

3 > “12”; //false

3 > “12abc”; //false

“3” > “12” //false

“abc” > “c”; //false,后者大

“abc” > “”; //true 因为这里”c”大于”1”

“3abc” > “12abc”; //true, 因为”3”大于“1”

1 > “a”; //? true

“1” > “a” //? false

逻辑运算符

逻辑运算符都是针对“布尔值”进行的运算。

如果不是布尔值,就会转换为布尔值进行;

布尔值只有2个:true,false

基本运算规则(真值表):

逻辑与规则:

true && true ==>> true

true && false ==>>false

false && true ==>>false

false && false ==>>false

总结:只有2个都是true,结果才是true

只要有一个是false,结果就是false

逻辑或规则:

true || true ==>> true

true || false ==>>true

false || true ==>>true

false || false ==>>false

总结:只有2个都是false,结果才是false

只要有一个是true,结果就是true

逻辑非规则:

!true ==>> false

!false ==>> true

逻辑运算符的“短路现象”:

逻辑与短路:

结果:如果一个语句中,通过与运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”date_diff php,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。

逻辑或短路:

结果:如果一个语句中,通过或运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。

字符串运算符

1,符号只有一个:. 也衍生出另一个: .=

2,含义:就是将这个符号两边的字符串连接起来;

3,如果两边不是字符串,就会自动转换为字符串,然后连接起来。

“ab” . 3 ==>> “ab3”;

“12” . 3 ==>>”123”

12 . 3 ==>> “123”

赋值运算符:

一个基本赋值运算符: =

形式: $变量名 = 值;

理解: 将右边的值(不管做了多少运算),赋值给左边的变量。

若干个衍生的赋值运算符:

+= 加等: 形式: $变量名 += 值;

理解: 相当于: $变量名 = $变量名 + 值;

-= 加等: 形式: $变量名 -= 值;

理解: 相当于: $变量名 = $变量名 – 值;

*= /= %= .= 其都可以认为是上述形式的一种简化版。

条件(三目,三元)运算符

只有一个,形式如下:

数据值1 ? 数据值2 : 数据值3

含义:

对数据值1进行判断,如果为“真”,则该运算符的运算结果就是数据值2,否则就是数据值3;

它是这样一个流程控制(逻辑判断)语句的简写形式:

if( 数据值1 ){

$变量名 = 数据值2;

else{

$变量名 = 数据值3;

注意:如果数据值1不是布尔值date_diff php,也会转换为布尔值;

$score = 66; //分数

$ = $score >= 60 ? “及格” : “不及格”; //结果为“及格”

$score = 56; //分数

$ = $score >= 60 ? “及格” : “不及格”; //结果为“不及格”

$score = 56; //分数

$ = $score ? “及格” : “不及格”; //结果为“及格”,这里可能就偏离的本意!!

位运算符

基础规定

1,位是什么?就是2进制数字的每一个“位”,一个整数数字date_diff php PHP从基础到入门(一),有(由)32个位构成!

2,位运算符是仅仅针对整数进行的运算符;

3,位运算符有如下几个

&: 按位与;

|: 按位或;

~: 按位非;按位取反;

^: 按位异或;

4,位运算符的基本语法规则:

按位与基本规则:

1 & 1 ==>> 1

1 & 0 ==>> 0

0 & 1 ==>> 0

0 & 0 ==>> 0

按位或基本规则:

1 | 1 ==>> 1

1 | 0 ==>> 1

0 | 1 ==>> 1

0 | 0 ==>> 0

按位非基本规则:

~1 ==>> 0

~0 ==>> 1

按位异或基本规则:

1 ^ 1 ==>> 0

1 ^ 0 ==>> 1

0 ^ 1 ==>> 1

0 ^ 0 ==>> 0

可见,按位异或的规则是:相同为0,不同为1

整数的按位与运算(&)

形式:

$n1 & $n2; //n1,n2是2个任意整数;

含义:

将该2个整数的二进制数字形式(注意,都是32位)的每一个对应位上的数字进行基本按位与运算之后的结果!

注意:他们运算的结果,其实仍然是一个普通的数字(10进制)。

示例图示(只用8个位来演示):

$r1 = 10 & 20;

代码验证:

整数的按位或运算:

形式:

$n1 | $n2; //n1,n2是2个任意整数;

含义:

将该2个整数的二进制数字形式(注意,都是32位)的每一个对应位上的数字进行基本按位或运算之后的结果!

注意:他们运算的结果,其实仍然是一个普通的数字(10进制)。

示例图示(只用8个位来演示):

$r1 = 10 | 20;

则结果该数据值大小为: 1*24 + 1 * 23 + 1*22 + 1* 21 + 0 = 16 + 8 + 4 + 2 = 30

代码验证:

整数的按位左移运算

形式:

$n1 20, 10=>30);

$arr2 = array(3=>33, 2=>22);

$r1 = $arr1 + $arr2; //结果为:array(5=>10, 8=>20, 10=>30, 3=>33, 2=>22)

另一个有重复键的例子:

$arr1 = array(5=>10, 8=>20, 10=>30);

$arr2 = array(8=>33, 2=>22);

$r1 = $arr1 + $arr2; //结果为:array(5=>10, 8=>20, 10=>30, 2=>22)

= =:如果两个数组具有相同的键名和键值(可以顺序不同,或类型不同),则返回true

$arr1 = array(3=>33, 2=>22);

$arr2 = array(2=>”22”, 3=>”33” );

此时,$arr1,和 $arr2是相等的( = = )

!=

= = =: 如果两个数组具有相同的键名和键值且顺序和类型都一样,则返回true

!= =

错误控制运算符@:

通常就用在一个地方:

$link = @(“数据库服务器地址”, “用户名”, “密码”);

作用是:

如果该连接数据的语句失败(比如连接不上),则屏蔽该失败的错误提示!

运算符的优先级

运算符,都有优先级问题!

记住以下几条就可以了:

要意识到运算符有优先级问题

括号最优先,赋值最落后(通常)

先乘除后加减

大致:单目运算符〉算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)

能查到手册: 语言参考》运算符》运算符的优先级。

流程控制

流程图基本符号:

只是人们习惯上使用的一些图形符号,以代表一定的含义,帮组别人理解流程过程。

if分支结构

基本语法形式如下:

if (条件判断1){

分支1;

else if (条件判断2){

分支2;

else if (条件判断3){

分支3;

。。。。。。

else {

//else分支

说明:

1,其中,绿色的else if部分可以重复若干次,也可以完全省略!

2,其中,紫色的else部分可以完全省略。

3,该if语句会从前往后(从上往下)依次判断条件,如果某个条件满足了,就会执行其中对应的分支date_diff php,然后就结束if分支结构语句!

4,如果前面所有条件都不满足,就会执行最后的else分支(前提是有else分支)。

图示如下:

分支结构

形式:

( 表达式 ){

case 条件值1:

分支1;

【break;】 //是可以省略部分,不是语法所必须;

case 条件值2:

分支2;

【break;】 //是可以省略部分,不是语法所必须;

……..

:

分支;

说明:

1,将表达式的结果数据,跟“条件值1”进行“相等判断”,如果相等,就执行分支1,否则继续对后续值进行判断。。。。

2,如果某个分支判断为相等,则执行该分支语句后,并且如果其中没有break语句,则会直接进入下一个分支继续执行,而不会再去判断下一个分支的条件值了,并直到碰到break语句才会跳出。

关系图如下所示:

举例如下:

for循环结构

查看相关素材及更多课程请搜索微信公众号“爱搞机个人版”,喜欢学习的建议关注下,所有课程免费! 点下关注不迷路!

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » date_diff php PHP从基础到入门(一)

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们