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

一.字符串插入

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

  }