变量的作用域
全局变量:在函数外部声明的,不能直接在函数里访问,要通过关键字global或者$GLOBA[ ]来进行访问
局部变量:函数内部声明的,不能在函数外部使用
静态变量:在函数内部使用,数值可以保存下来
变量的类型与检测
标量:单值变量,整形、浮点、字符串、布尔,基本类型
复合类型:多值变量,数组、对象
特殊类型:资源,null
使用gettype()可以获取变量的类型,使用settype()可以强制改变变量的值,案列如下:
实例
运行实例 »echo '<h3>变量的类型与转换</h3>'; $age =33; $salary = 3333.33; $name = 'jason '; echo $name,'年龄是',$age,'工资是',$salary; echo '<hr>'; echo "<span style='color:green'>$name</span><br>"; echo $name,'的<span style="color:red">年龄</span>是',$age;//用逗号隔断变量和字符串 $books = ['php','html','css','js']; echo '<pre>'; var_dump(print_r($books,true));//print-r($var,true) //变量检测gettype()获取当前变量的数据类型 echo gettype($books); $bohoks=3; //设置类型settype()返回一个布尔值 var_dump(settype($bohoks,'string')); echo gettype($bohoks);
点击 "运行实例" 按钮查看在线实例
- 主要是if的单支结构、双支结构、多支结构,只执行符合调件的,然后就会推出当前流程结构。
流程结构
三元判断就是双支结构的简洁版 实例
/* * 流程控制:条件判断与多分支 */ //单分支 if() $grade = 33; if ($grade <60) { echo '你考砸了<br>'; } //双分支 $grade = 77; if ($grade <60) { echo '你考砸了<br>'; }else{ echo '及格了<br>'; } //多分支 $grade = 88; if ($grade <60){ echo '你考砸了'; }elseif($grade>=60&&$grade<80){ echo '及格了'; }elseif ($grade>80){ echo '你考的真好'; } //三元判断 ?: $age = 18; echo ($age >=18) ? '你可以去网吧了':'未成年不可以去网吧';
运行实例 »点击 "运行实例" 按钮查看在线实例
- 变量类型有8类,可以使用gettype()来获取数据类型,也可以使用函数来转换数据类型,变量有其自己的执行环境,所以在访问变量的时候,要了解变量的作用域。
总结
运用流程结构可以方便数据的判断,双支结构可以直接用三元判断。