PHP - 操作符与控制结构
第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 |
|
右 |
|
|
左 |
= += -= *= /= .= %= &= |= ^= ~= <<= >>= |
|
左 |
?: |
|
左 |
|| |
|
左 |
&& |
|
左 |
| |
|
左 |
^ |
|
左 |
& |
|
不相关 |
= = != = = = = != = |
|
不相关 |
<<= >>= |
|
左 |
<< >> |
|
左 |
+ - . |
|
左 |
* / % |
|
右 |
! ~ ++ -- (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 - 操作符与控制结构的更多相关文章
- PHP的操作符与控制结构
一.操作符 操作符是用来对数组和变量进行某种操作运算的符号. 算术操作符 操作符 名称 示例 + 加 $a+$b - 减 $a-$b * 乘 $a*$b / 除 $a/$b % 取余 $a%$b 复 ...
- perl之更多的控制结构
1.unless/if结构 unless 条件为假的时候 才执行语句块. eg: unless($fred =~ /^[A-Z_]\w*$/i){ print "The value of \ ...
- 虚幻4外包团队-推荐非常全面的的Unreal教程
<Unreal SDK 游戏开发从入门到精通(UnrealScript语法.UI Scene界面.UDK独立开发游戏)> 课程讲师:Shark 课程分类:.net 适合人群:初级 课时数 ...
- 12.06 JavaScript
任务 掌握JavaScript基础知识,能够使用JavaScript编写一些复杂度不大的交互功能. 任务: JavaScript基础 做完任务一的时候深深地感觉到自己的基础非常的薄弱,在这里再次感谢一 ...
- ios学习笔记之2天来总结
学了2天,小结下. ios的基本代码执行流程: 与java的基本异同: 异: 1.基类:java中Object是所有类的父类,而objective-c的根类为NSObject 2.默认访问类型:jav ...
- JavaScript重新介绍
本文转载自 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript 引言 为什么 ...
- JavaScript 系列博客(一)
JavaScript 系列博客(一) 前言 本系列博客为记录学习 JavaScript 的学习笔记,会从基础开始慢慢探索 js.今天的学习笔记主要为 js 引入.定义变量以及 JavaScript 中 ...
- JavaScript-导论
说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1.什 ...
- 速学JavaScript!
什么是JavaScript? JavaScript是一种轻量级的脚本语言,也是一种嵌入式语言,是一种对象模型语言,简称JS:JavaScript的核心语法部分(语言本身)很精简,只包括两个部分: 基本 ...
随机推荐
- php随机10-thinkphp 3.1.3 模板继承 布局
8.25 模板继承 模 板继承是3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类 的继承一样,模板也可以定义一个 ...
- REF CURSOR和CURSOR
REF CURSOR DECLARE TYPE TY_EMP_CUR IS REF CURSOR; V_Emp_Cur TY_EMP_CUR; V_Id EMP.ID%TYPE; BEGIN OPEN ...
- EAN 通用商品条形码
商品条形码是指由一组规则排列的条.空及其对应字符组成的标识,用以表示一定的商品信息的符号.其中条为深色.空为纳色,用于条形码识读设备的扫描识读.其对应字符由一组阿拉伯数字组成,供人们直接识读或通过键盘 ...
- 工程脚本插件方案 - c集成Python基础篇(VC++嵌入Python)
序: 为什么要集成脚本,怎么在工程中集成Python脚本. 在做比较大型的工程时,一般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用接口供业务层调用的一种标准的框架划分.在实际中 ...
- Tomcat中配置自定义404错误页面
404,50x这种错误经常遇到. 如果%CATALINA_HOME%\conf\web.xml和具体应用中都有设置%CATALINA_HOME%\webapps\ROOT\WEB-INF\web.xm ...
- ZIOZIA_百度百科
ZIOZIA_百度百科 ZIOZIA
- 给EditText中的图片加监听
package com.example.helloword; import android.app.Activity; import android.content.Context; import a ...
- 【C语言学习】存储类型
C语言中的存储类型主要有四种:auto.static.extern.register ★auto存储类型 默认的存储类型.在C语言中,假设忽略了变量的存储类型,那么编译器就会自己主动默认为auto型 ...
- MyEclipse10+Jdk1.7+OSGI+MySql实现CRUD数据库
开发环境: Windows2008R2 64位置+MyEclipse10+jdk1.7.0_67+MySql5.5 软件安装:myeclipse-10.0-offline-installer-wind ...
- git 使用过程(三、文件的添加 修改)
1.库中添加文件 在目录下新建一个文件 如 testfile.txt .输入命令:① git add testfile.txt ②git commit -m "这里是你提交的说明" ...