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的核心语法部分(语言本身)很精简,只包括两个部分: 基本 ...
随机推荐
- JavaScript 导学推荐
基本开始js学习的时候,可能会觉得很混乱,一开始都是从一些简单的表单验证还有拷贝别人效果代码,然后再慢慢去深入了解.我是觉得js是需要一定语言编程基础,我是觉得随着深入,JS的里面实在不算太好理解,个 ...
- HTTP协议一次上传多个文件的方法
如何通过HTTP协议一次上传多个文件呢?在这里有两个思路,是同一个方法的两种实现.具体程序还需自己去设计 1. 在form中设置多个文件输入框,用数组命名他们的名字,如下: < form act ...
- 第2章 Python基础语法--Hello python
第2章 基础语法 2.1 基本介绍 2.1.1 Hello python 每个语言的开始都是从”HelloWorld”开始的,我们也不例外.打开已经安装好的Python编译环境,至于Python如何安 ...
- 链接分析算法之:主题敏感PageRank
链接分析算法之:主题敏感PageRank 前面的讨论提到.PageRank忽略了主题相关性,导致结果的相关性和主题性降低,对于不同的用户,甚至有很大的差别.例如,当搜索“苹果”时,一个数码爱好 ...
- BZOJ 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课
题目 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课 Time Limit: 5 Sec Memory Limit: 64 MB Description 考虑一 ...
- html里面自定义弹出窗口
网页上默认的提示框或对话框一般比较丑,可以利用div遮盖层来自定义对话框 1.定义一个按钮或者链接(项目里面是通过点击一个图片) <img src="images/zz.gif&quo ...
- python文件I/O
file = open(filename,mode) ,python使用open或者file:打开文件,打开文件有几种模式,譬如酱紫: test = open(“txt.txt”,”w”),更多的参数 ...
- ASP.NET站点安全
<configuration> <appSettings/> <connectionStrings> <add name="MyBookShop&q ...
- Read and Write NSArray, NSDictionary and NSSet to a File
查询地址:http://iosdevelopertips.com/data-file-management/read-and-write-nsarray-nsdictionary-and-nsset- ...
- 数据库迁移(SQL SERVER导入数据到MySql)
地址:http://blog.csdn.net/jiaohougenyang/article/details/44937801 背景:项目最开始时使用的是SQL Server数据库,业务需求现要将数据 ...