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 相关文章推荐
全文搜索和替换
Oct 09 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
php实现图形显示Ip地址的代码及注释
Jan 20 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php实现求相对时间函数
Jun 15 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
可兼容php5与php7的cURL文件上传功能实例分析
May 11 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
php提高脚本性能的4个技巧
Aug 18 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
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
简述php环境搭建与配置
2016/12/05 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
原生js实现日期联动
2015/01/12 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
VUE重点问题总结
2018/03/19 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
绘画专业自荐信范文
2014/02/23 职场文书
大学毕业寄语大全
2014/04/10 职场文书
环保标语口号
2014/06/13 职场文书
植物生产学专业求职信
2014/08/08 职场文书
大学同学会活动方案
2014/08/20 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
停电放假通知
2015/04/14 职场文书
自我检讨书怎么写
2015/05/07 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
PyTorch中的torch.cat简单介绍
2022/03/17 Python