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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
php分页函数完整实例代码
Sep 22 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
php处理带有中文URL的方法
Jul 11 PHP
php类的自动加载操作实例详解
Sep 28 PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
Yii快速入门经典教程
2015/12/28 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
javascript使用avalon绑定实现checkbox全选
2015/05/06 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
[01:04:14]VP vs TNC 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
使用Python操作MySQL的一些基本方法
2015/08/16 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
python实现网站微信登录的示例代码
2019/09/18 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
房地产开盘策划方案
2014/02/10 职场文书
培训专员岗位职责
2014/02/26 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2014年机关工会工作总结
2014/12/19 职场文书