博客列表 >20180822变量的作用域、变量的类型和检测、分支结构实例

20180822变量的作用域、变量的类型和检测、分支结构实例

乂汁的blog
乂汁的blog原创
2018年08月27日 17:42:32824浏览

一、概述

        本节课讲述了变量的作用域(全局变量、静态变量、局部变量)、变量的类型和检测(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>';
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

截图:001.png002.png003.png

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>';
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

截图:004.png

三、总结

        本节课对于PHP学习有了更深的理解和认识。在自己手打时候遇到了很多问题,一个个的解决了。在实践中加入了自己的思想和猜测。最后的for循环遇到了获取时间时候时间不是东八区问题,必须进行转换。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议