第3章 操作符与控制结构

学习要点:

1.字符串插入

2.操作符

3.控制结构

一.字符串插入

为了给开发人员处理字符串值提供最大的灵活性,PHP为字面插入和内容插入提供了一种方法。

双引号提供了最大的灵活性,原因是变量和转移序列都会得到相应的解析。

<?php

$userName = "吴祁";

echo "His name is $userName";

echo "<br />";

//中文会出现一些问题

echo "他的名字叫$userName,他19岁了,已经长大成人了!";

echo "<br />";

//可以采用字符串连接的方式解决

echo "他的名字叫".$userName.",他19岁了,已经长大成人了!"

//转义字符可以得到解析

echo "虽然他的QQ号有很多女生,\n但一个都不属于他";

?>

部分常用的转义字符

转义序列

描述

\n

换行符

\r

回车

\t

水平制表图

\\

反斜杠

\$

美元符

\"

双引号

单引号会按照声明的原样解释,解析字符串时,变量和转义序列都不会进行解析。

<?php

echo '吴祁的变量名为:$userName,转义字符\n在单引号中无效'

?>

二.操作符

操作符是用来对数组和变量进行某种操作运算的符号。

算术操作符

操作符

名称

示例

+

$a+$b

-

$a-$b

*

$a*$b

/

$a/$b

%

取余

$a%$b

复合赋值操作符

操作符

使用方法

等价于

+=

$a+=$b

$a=$a+$b

-=

$a-=$b

$a=$a-$b

*=

$a*=$b

$a=$a*$b

/=

$a/=$b

$a=$a/$b

%=

$a%=$b

$a=$a%$b

.=

$a.=$b

$a=$a.$b

前置递增递减和后置递增递减运算符:

$a=++$b;

$a=$b++;

$a=--$b;

$a=$b--;

比较运算符

操作符

名称

使用方法

= =

等于

$a= =$b

= = =

恒等

$a= = =$b

!=

不等

$a!=$b

!= =

不恒等

$a!= =$b

<>

不等

$a<>$b

<

小于

$a<$b

>

大于

$a>$b

<=

小于等于

$a<=$b

>=

大于等于

$a>=$b

注:恒等表示只有两边操作数相等并且数据类型也相当才返回true;

例如:0= ="0" 这个返回为true ,因为操作数相等

0= = ="0"  这个返回为false,因为数据类型不同

逻辑运算符

操作符

使用方法

使用方法

说明

!

!$b

如果$b是false,则返回true;否则相反

&&

$a&&$b

如果$a和$b都是true,则结果为true;否则为false

||

$a||$b

如果$a和$b中有一个为true或者都为true时,其结果为true;否则为false

and

$a and $b

与&&相同,但其优先级较低

or

$a or $b

与||相同,但其优先级较低

操作符"and"和"or"比&&和||的优先级要低。

三元操作符

Condition ? value if true : value if false

示例:($grade>=50 ? "Passed" : "Failed")

错误抑制操作符:

$a=@(57/0);

除数不能为0,会出错,所以加上@避免出现错误警告。

数组操作符

操作符

使用方法

使用方法

说明

+

联合

!$b

返回一个包含了$a和$b中所有元素的数组

= =

等价

$a&&$b

如果$a和$b具有相同的元素,返回true

= = =

恒等

$a||$b

如果$a和$b具有相同的元素以及相同的顺序,返回true

!=

非等价

$a and $b

如果$a和$b不是等价的,返回true

<>

非等价

如果$a和$b不是等价的,返回true

!= =

非恒等

$a or $b

如果$a和$b不是恒等的,返回true

操作符的优先级和结合性:

一般地说,操作符具有一组优先级,也就是执行他们的顺序。

操作符还具有结合性,也就是同一优先级的操作符的执行顺序。这种顺序通常有从左到右,从右到左或者不相关。

下面给出操作符优先级的表。最上面的操作符优先级最低,按着表的由上而下的顺序,优先级递增。

操作符优先级

结合性

操作符

Or

Xor

And

Print

= += -= *= /= .= %= &= |= ^= ~= <<= >>=

?:

||

&&

|

^

&

不相关

= =  != =  = = =  != =

不相关

<<= >>=

<< >>

+ - .

* / %

! ~ ++ -- (int)(double)(string)(array)(object) @

[]

不相关

New

不相关

()

为了避免优先级混乱,可以使用括号避开优先级。

三.控制结构

如果我们希望有效地相应用户的输入,代码就需要具有判断能力。能够让程序进行判断的结构称为条件。

if条件判断语句

if (条件判断){

//......

}

if (条件判断){

//....

}

else {

//....

}

if (条件判断) {

//...

}

elseif {

//...

}

elseif {

//....

}

else {

//....

}

switch语句

switch (变量) {

case "值1":

//...

break;

case "值2":

//...

break;

case "值N":

//...

break;

default:

//....

break;

}

while循环

while (条件) {

//....

}

for循环

for (初始值;条件;计数器) {

//....

}

除了for循环外,PHP还提供了foreach循环,它专门用于数组的使用。我们在数组中详细介绍它。

do while 循环

do {

//...

} while(条件);

如果希望停止一段代码的执行,根据所需要达到的效果不同,可以有3中方法实现。

第一种:break;  退出循环; 第二种是exit ;退出程序  第三种是continue;退出当前循环

if (条件)

{

break; //continue

}

PHP - 操作符与控制结构的更多相关文章

  1. PHP的操作符与控制结构

    一.操作符  操作符是用来对数组和变量进行某种操作运算的符号. 算术操作符 操作符 名称 示例 + 加 $a+$b - 减 $a-$b * 乘 $a*$b / 除 $a/$b % 取余 $a%$b 复 ...

  2. perl之更多的控制结构

    1.unless/if结构 unless 条件为假的时候 才执行语句块. eg: unless($fred =~ /^[A-Z_]\w*$/i){ print "The value of \ ...

  3. 虚幻4外包团队-推荐非常全面的的Unreal教程

    <Unreal SDK 游戏开发从入门到精通(UnrealScript语法.UI Scene界面.UDK独立开发游戏)> 课程讲师:Shark  课程分类:.net 适合人群:初级 课时数 ...

  4. 12.06 JavaScript

    任务 掌握JavaScript基础知识,能够使用JavaScript编写一些复杂度不大的交互功能. 任务: JavaScript基础 做完任务一的时候深深地感觉到自己的基础非常的薄弱,在这里再次感谢一 ...

  5. ios学习笔记之2天来总结

    学了2天,小结下. ios的基本代码执行流程: 与java的基本异同: 异: 1.基类:java中Object是所有类的父类,而objective-c的根类为NSObject 2.默认访问类型:jav ...

  6. JavaScript重新介绍

    本文转载自 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript 引言 为什么 ...

  7. JavaScript 系列博客(一)

    JavaScript 系列博客(一) 前言 本系列博客为记录学习 JavaScript 的学习笔记,会从基础开始慢慢探索 js.今天的学习笔记主要为 js 引入.定义变量以及 JavaScript 中 ...

  8. JavaScript-导论

    说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1.什 ...

  9. 速学JavaScript!

    什么是JavaScript? JavaScript是一种轻量级的脚本语言,也是一种嵌入式语言,是一种对象模型语言,简称JS:JavaScript的核心语法部分(语言本身)很精简,只包括两个部分: 基本 ...

随机推荐

  1. myEclipse快捷键及其常用设置

    快捷键:    查找替换:ctrl + f    复制行: ctrl + alt + down    删除行: ctrl + d    插入行: shift + enter, ctrl + shift ...

  2. System.Web.Security 在winform中是什么命名空间呢

    des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStorin ...

  3. php基本框架

  4. OC中的类型强制转换

    在Objective-C中,以数字格式组成的字符串经常需要转换为NSNumber对象后再使用.例如有一个字符串对象@"111.22",需要转为NSNumber对象,最简单的方法就是 ...

  5. javascript 关闭页面提示

    window.onbeforeunload = function (e) { e = e || window.event; // For IE and Firefox prior to version ...

  6. windows apache 配置多个服务 站点 Apache Service Monitor

    把Apache安装为多个Window NT服务 ~~~ 可以在 services.msc中查看到1. 在DOS下跳到Apache安装目录里的bin目录(~~~或者用path命令 把apache的安装目 ...

  7. 一个ShellExecute的超全说明(www.phidels.com这个网站很多内容)

    I. Introduction / Déclaration ShellExecute fait partie des innombrables fonctions de l'API Windows ; ...

  8. Niagara技术文档汇总

    Niagara技术文档汇总http://wenku.baidu.com/view/ccdd4e2c3169a4517723a38f.html Niagara讲解要点http://wenku.baidu ...

  9. Object 保存到文件中

    6月4日 Object 保存到文件中  Q. 你添加一个新类到你的项目当中且你希望可以保存这个类的一个实例对象到磁盘文件 并在需要时从磁盘文件读回到内存中  A. 方案  确保你的类遵循 NSCodi ...

  10. python 的经常使用时间操作,取得当前时间等

    我们先导入必须用到的一个module>>> import time设置一个时间的格式,以下会用到>>>ISOTIMEFORMAT=’%Y-%m-%d %X’看一下当 ...