php学习笔记(三)操作符与控制结构


Posted in PHP onAugust 06, 2011

一.字符串插入
为了给开发人员处理字符串值提供最大的灵活性,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*$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

注:恒等表示只有两边操作数相等并且数据类型也相当才返回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 (条件判断) {
//...
}
左||
左&&
左|
左^
左&
不相关= = != = = = = != =
不相关<<= >>=
左<< >>
左+ - .
左* / %

! ~ ++ --
(int)(double)(string)(array)(object) @
右[]
不相关New
不相关

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弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
PHP反向代理类代码
Aug 15 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
从wamp到xampp的升级之路
Apr 08 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
Feb 20 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
Lumen timezone 时区设置方法(慢了8个小时)
Jan 20 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
PHP几个数学计算的内部函数学习整理
Aug 06 #PHP
PHP缓存技术的使用说明
Aug 06 #PHP
PHP header函数分析详解
Aug 06 #PHP
php 文件上传类代码
Aug 06 #PHP
php代码运行时间查看类代码分享
Aug 06 #PHP
discuz程序的PHP加密函数原理分析
Aug 05 #PHP
PHP源码之explode使用说明
Aug 05 #PHP
You might like
PHP文本数据库的搜索方法
2006/10/09 PHP
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
2014/08/25 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
PyQt5固定窗口大小的方法
2019/06/18 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
python3.5的包存放的具体路径
2020/08/16 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
大学生求职自荐信
2013/12/12 职场文书
自荐信需注意事项
2014/01/25 职场文书
网络管理专业求职信
2014/03/15 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
英语导游词
2015/02/13 职场文书
毕业实习单位意见
2015/06/04 职场文书
任命书格式范文
2015/09/22 职场文书