[TOC] # 上节回顾 * PHP是一种什么语言? * PHP程序中的注释都有哪几种? * 变量的命名规则是如何的? * PHP都有哪些数据类型? # PHP中的运算符 > 什么是运算符? 运算符是告诉PHP做相关运算的标识符号。例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。 PHP中的运算符有哪些?有三种类型的运算符: 1. 一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。 2. 二元运算符,有两个操作数,PHP支持的大多数运算符都是这种。 3. 三元运算符:? :。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。 ######算数运算符 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-fbbdc9c0876ac0b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######字符串运算符 有两个字符串运算符: 1. 连接运算符(“`.`”),它返回其左右参数连接后的字符串。 2. 连接赋值运算符(“`.=`”),它将右边参数附加到左边的参数后。 ``` <?php $a = "Hello "; $b = $a . “World!”; // 现在$b的值: Hello World! $a = "Hello "; $a .= “World!”; // 现在$a的值: Hello World! ?> ``` ######赋值运算符 基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-7428d49143d5e7fe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######比较运算符 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-ec823f2e603a7283.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######逻辑运算符 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-c5b56fd2d45c32db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######其他运算符 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-9e36031196939c62.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######运算符的优先级 ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-86c04ba1af16f476.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ######表达式 表达式是 PHP 最重要的基石。在 PHP 中,几乎所写的任何东西都是一个表达式。简单但却最精确的定义一个表达式的方式就是“任何有值的东西”。 最基本的表达式形式是常量和变量。当键入“`$a = 5`”。 稍微复杂的表达式例子就是函数。 其他还有运算符与操作数构成的也成表达式。如:比较表达式`$a>5、$a==5`。 ###### 可变变量 有时候使用可变变量名是很方便的。就是说,一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。 例如: ``` <?php $a = 'hello'; //普通变量 $$a = ‘world’; //可变变量 echo "$a $hello"; //输出:hello world ?> ``` ###### 变量的引用赋值 引用操作符`&`可以在关联赋值中使用,就像一个别名,使得变量都指向了内存的相同地址。 ``` <?php $a=5; $b=&$a; echo $b; //输出5 $a=7; echo $b; //输出7 ?> ``` 通过unset($a)重置变量与内存的关联 > Have a try? 1. 在html中嵌入php代码的方式有哪几种? 2. php脚本中注释有哪几种? 3. 如何定义php的变量(命名规范)? 4. (写代码块:)定义一个变量name,赋值为”zhangsan”,并输出这个变量,要求颜色为蓝色的。最后销毁这个变量。 5. PHP值哪八种原始类型? 6. 在php中都有哪些类型的什么数据转为boolean值时为(假)False? 7. 在PHP中定义字符串都有哪三种方式?并举出示例。 8. 参考如下效果,实现动态改变网页背景。 9. 参考如下界面做一个计算器: ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-e9899202a9f5505c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![Paste_Image.png](http://upload-images.jianshu.io/upload_images/4630996-bb2e5f5766764a98.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)