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 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
PHP设计模式之命令模式的深入解析
Jun 13 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
Smarty模板变量调节器用法分析
May 23 PHP
php集成动态口令认证
Jul 21 PHP
yii框架结合charjs实现统计30天数据的方法
Apr 04 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
for循环连续求和、九九乘法表代码
2012/02/20 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
javascript,jquery闭包概念分析
2010/06/19 Javascript
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
关于vue面试题汇总
2018/03/20 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Python配置文件处理的方法教程
2019/08/29 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
大型会议策划方案
2014/05/17 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
2014个人年度工作总结
2014/12/15 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
JavaScript 实现页面滚动动画
2021/04/24 Javascript
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js