Correction status:qualified
Teacher's comments:
变量的作用域指的是在函数内的使用范围,有全局、局部、静态
变量的类型分为
1、单值变量:数值(int、float)、字符串(string)、布尔(boolean)
2、多值变量:数组(array)、对象(object)
3、特殊类型:资源、null
变量的类型与检测
<?php echo '<h3>变量的类型与转换</h3>'; // 标量: 单值变量, 数值(整数,浮点),字符串,布尔(true/false),基本数据类型 // 复合类型: 多值变量,数组 Array, 对象Object // 特殊类型: 资源,null $age = 30; // Integer $salary = 3560.88; // Float $name = 'peter zhu'; // String $isMarried = true; // Boolean //echo $name . '的年龄是: '.$age. ',工资是: '.$salary. ',是否已婚: '. $isMarried. '<br>'; //echo $name,'的<span style="color:red">年龄</span>是: ',$age, ',工资是: ',$salary, ',是否已婚: ', $isMarried. '<hr>'; $books = ['php','mysql','html','css','javascript']; //Array echo '<pre>'; //print_r($books); $student = new stdClass(); // Object $student->name = '小明'; $student->course = 'php'; $student->grade = 80; //var_dump($student); //var_dump($student->name); //echo $student->name,'<br>'; //echo '<h3 style="color: blue">',print_r($student->name,true),'</h3>'; // 资源类型 $file = fopen('test.txt','r') or die('打开失败'); echo fread($file, filesize('test.txt')); //fclose($file); //null $price = null; echo '$price is ' . $price; echo '<br>'; echo is_null($price) ? '是NULL' : '不是NULL'; //变量检测 // gettype() echo gettype($file), '<hr>'; //resource // 设置类型 $price = 124.99; settype($price, 'integer'); echo $price, '<hr>'; echo gettype($price);
点击 "运行实例" 按钮查看在线实例
分支结构
<?php //1.单分支 $grade = 55; if ($grade < 60) { echo '<p style="color:red">很不幸,您得补考</p>'; } //2.双分支 $grade = 75; if ($grade < 60) { echo '<p style="color:red">很不幸,您得补考</p>'; } else { // $grade >= 60 echo '<p style="color:green">恭喜,及格了</p>'; } //3.多分支 $grade = 85; if ($grade < 60) { echo '<p style="color:red">很不幸,您得补考</p>'; } else if ($grade >= 60 && $grade < 80) { // $grade >= 60 echo '<p style="color:green">考得还不错</p>'; } else if ($grade >= 80 && $grade <= 100) { // $grade >= 60 echo '<p style="color:green">真TM的是个天才</p>'; } //4.三元判断:双分一个简写 $age = 16; echo ($age >= 18) ? '<script>alert("已成年,可以浏览但不可沉迷其中")</script>' : '<p style="color:red">未成年自觉离开</p>'; //5 switch $program = 'Java'; switch (strtolower($program)) { case 'php': echo '<p>php是全世界最好的编程语言~~</p>'; break; case 'java': echo '<p>通用的编程语言~~</p>'; break; case 'html': echo '<p>超文本标记语言~~</p>'; break; default: // 相当于 else echo '<p>你关心的语言未收录~~</p>'; }
点击 "运行实例" 按钮查看在线实例
总结
php只有函数作用域
三种作用域: 全局, 在函数之外创建的变量,可在函数外部直接使用
局部,函数内部创建的变量,仅限在函数内部使用
静态,函数内部创建,仅在内部使用并且函数执行后他的值不消失
当用户定义一个全局变量的时候,这个变量同时也自动成为超全局变量数组$GLOBALS的一个元素
超全局变量不受作用域限制
php中函数的声明使用关键字: function 函数名(参数列表,多个参数用逗号分开) { 多条语句}
创建一个函数,就意味着创建出一个作用域, 执行环境
函数中的执行结果用return 返回给调用 者