一、概述
本节课讲述了变量的作用域(全局变量、静态变量、局部变量)、变量的类型和检测(var_dump、print_r等)、分支结构实例(for语句)。
二、作业
1、变量作用域问题。
在所有函数外部定义的变量,拥有全局作用域global;在函数内部定义的变量用于局部作用域local。全局变量可以被脚本的任何位置访问,但在函数内部访问全局变量要使用global关键字。而局部变量只能在函数内部进行访问。当一个函数调用完后,它的所有变量都会被删除,如果想要某个局部变量不被删除,那么可以使用static关键字。parameter 参数作用域
参数是通过调用代码将值传递给函数的局部变量,参数是在参数列表中声明的,作为函数声明的一部分。
function foo(){
static $int = 0; // correct
static $int = 1+2; // wrong (as it is an expression)
static $int = sqrt(121); // wrong (as it is an expression too)
2、变量的类型和检测
实例
<?php //变量类型及其检测 echo '<h3 style="color : blue">int float string bollen</h3>'; $a = 98; $name= 'Mike'; $selary=99.8; $ismale=true; echo $name,'的工资是','<br>',$selary,'<br>','是男孩吗?',$ismale,'<br>','体重是多少?',$a; echo '<hr>'; echo '<h3 style="color : green">Array</h3>'; var_dump($a);echo '<br>'; var_dump($name);echo '<br>'; var_dump($selary);echo '<br>'; var_dump($ismale);echo '<br>'; $school = ['teacher'=>00,'student'=>11,'president'=>22]; echo '<pre>',print_r($school,true);echo '</pre>'; echo '<hr>'; echo '<h3 style="color : gold">obj</h3>'; $student = new stdclass(); $student->id = "9981"; $student->name = "Mike"; echo "<pre>"; var_dump($student); var_dump($student->name); var_dump($student->id); echo "</pre>"; echo '<hr>'; echo '<h3 style="color:red">file null</h3>'; $file = fopen('test.html','r') or die('打开失败'); echo fread($file, filesize('test.html')); echo '<hr>'; var_dump($file); //resource(3) of type (stream) echo '<hr>'; echo gettype($file);//resource fclose($file); $name = 9981; echo gettype($name),'<br>'; settype($name, 'string'); echo gettype($name); echo '<hr>'; //null $val1 = 'php'; var_dump(is_null($val1)? true:false); $val2 = null; var_dump(is_null($val2)? true:flase); $val3; @var_dump(is_null($val3)? true : false); echo '<hr>'; //empty空字符串, 空数组, null, 0 / '0' / false 返回 true $str1 = ''; $str2 = []; $dtr3 = 0; $str4 = '0'; @var_dump(empty($str1) ? true : false); @var_dump(empty($str2) ? true : false); @var_dump(empty($str3) ? true : false); @var_dump(empty($str4) ? true : false); echo '<hr>'; //isset是否变量存在呢 $std1 = null; var_dump(isset($std1)); $std2 = 9981; var_dump(isset($std2)); $std3; var_dump(isset($std3)); echo 'hr'; //ARRAY echo 'br','<span style="color: green;">ARRAY</span>'; $school= ['白眉鹰王','紫金龙王','金毛狮王']; unset($school[0]); echo '<pre>',print_r($school,true),'</pre>'; echo $school[1],'<hr>'; $school2= ['id1'=>'白眉鹰王2','id2'=>'紫金龙王2','id3'=>'金毛狮王2']; unset($school2['id1']); echo '<pre>',print_r($school2,true),'</pre>'; echo '<pre>',print_r($school2['id2'],true),'</pre>'; echo '<pre>',print_r($school2['id1'],true),'</pre>'; echo '<br> <br> <br> <br> <br>'; ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
截图:
3、for循环(分支)实例
实例
<?php date_default_timezone_set('PRC'); //if else 分支结构 echo '<hr>','<span style="color: gold;">多分支实例</span>','<br>'; $timee = date('H'); //$timee = 8; echo 'It\'s', $timee,'.'; //settype($timee,'integer'); $meal = ['breakfarst','lunch','supper']; if ($timee>7 && $timee <= 10){ echo 'In the moring you should eat:',' ',$meal[0],'.'; }else if ($timee>10 && $timee <= 17) { echo 'In the noon you should eat: ',$meal[1],'.'; }else if ($timee>17 && $timee <= 22) { echo 'In the night you should eat: ',$meal[2],'.'; }else{ echo '<span style="color: coral;">U should eat Nothing! </span>'; }
运行实例 »
点击 "运行实例" 按钮查看在线实例
截图:
三、总结
本节课对于PHP学习有了更深的理解和认识。在自己手打时候遇到了很多问题,一个个的解决了。在实践中加入了自己的思想和猜测。最后的for循环遇到了获取时间时候时间不是东八区问题,必须进行转换。