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 版本]
Mar 20 PHP
PHP 编写大型网站问题集
May 07 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
php的ajax简单实例
Feb 27 PHP
php计划任务之ignore_user_abort函数实现方法
Jan 08 PHP
php简单实现数组分页的方法
Apr 30 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
Sep 23 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
PHP实现负载均衡下的session共用功能
Apr 17 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的十大要点(上)
2009/02/04 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
php中大括号作用介绍
2012/03/22 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
CSDN轮换广告图片轮换效果
2007/03/27 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JavaScript类的写法
2016/09/17 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
JS实现简单日历特效
2020/01/03 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
深入理解Python分布式爬虫原理
2017/11/23 Python
Python3的socket使用方法详解
2020/02/18 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
应届生高等护理求职信
2013/10/12 职场文书
给排水工程师岗位职责
2013/11/21 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
安全标语口号
2014/06/09 职场文书
竞聘自述材料
2014/08/25 职场文书
小学生红领巾广播稿
2015/08/19 职场文书