实例
<?php echo "<h3>什么是变量的作用域?</h3>"; echo '<p>在所有函数外定义的变量拥有全局作用域,在函数内部声明的变量是局部变量,仅能在函数内部访问。要在一个函数中使用全局变量,需要使用global关键字。</p>'; echo '<hr>'; $nameTitle='变量的作用域';//全局 function fnVal() { $name='在函数内部声明的变量是局部变量,仅能在函数内部访问';//局部变量 global $nameTitle;//或者使用 $GLOBALS['nameTitle'] return $nameTitle.'--'.$name.'<br>'; } echo fnVal().'<br>'; //static 静态变量只能在函数中声名使用,函数执行完后不会消失 function num() { static $n=1; return '第'.$n.'个值是:'.$n++.'<br/>'; } echo "static静态变量:<br><br>"; echo num(); echo num(); echo num(); echo num(); echo '<hr>'; // 变量类型 $user='root'; //字符串 $num=100; //整数 $size='20.8'; //浮点 $array=[] ; //数组 $value=null; //null $obj=new stdClass(); //对象 //获取变量类型 echo '$user:'.getType($user); echo '<br>'; echo '$num:'.getType($num); echo '<br>'; echo '$size:'.getType($size); echo '<br>'; echo '$array:'.getType($array); echo '<br>'; echo '$value:'.getType($value); echo '<br>'; echo '$value:'.getType($obj); echo '<br>'; //设置变量类型 settype($size,'int'); echo getType($size); echo '<br>'; // 变量有2中状态:已声名 未声名 // 已声名的变量也有2中状态:已赋值(初始化) 未赋值 // 变量可能会被赋值的类型:null 空值 非空值 // is_null() 检测变量是否为null // 返回值 如果是null 返回true 否则返回false // 什么时候返回值为true: // 1.变量声名但未初始化,默认值为null // 2.值为null // 3.unset()销毁后,变量值为null $a; $b=null; $c='php'; unset($c); $sex='男'; var_dump(@is_null($a));//1 非0为真 echo '<br>'; var_dump(@is_null($b)); echo '<br>'; var_dump(@is_null($c)); echo '<br>'; var_dump(is_null($sex)); echo '<hr>'; // empty() 检测变量是否为空 // 返回值bool 当变量是一个非空非零的值返回false 否则true // 什么时候返回值为true: // 空值:"" 0 | 0.0 | '0' | null | false | 空数组 |$var(声名变量但没有赋值) $ab=''; $s=0; $d=null; $k=false; $w; $arr=[]; $key='姓名'; var_dump(empty($ab)); echo '<br>'; var_dump(empty($s)); echo '<br>'; var_dump(empty($d)); echo '<br>'; var_dump(empty($k)); echo '<br>'; var_dump(empty($w)); echo '<br>'; var_dump(empty($arr)); echo '<br>'; var_dump(empty($key)); echo '<hr>'; // isset() 检测变量是否被设置 // 返回值 bool 如果变量存在值不是null返回true,否则返回false $pwd='123456'; var_dump(isset($pwd)?true:false);//三元运算 echo '<hr>'; echo '<h3>单分支</h3>'; echo '<pre>'; echo <<<'if' if($num)//条件 { //执行语句 echo '$num变量存在'; } if; echo '</pre>'; if($num) { echo '结果:$num变量存在'.'<br>'; } echo '<hr>'; echo '<h3>单分支</h3>'; echo '<pre>'; echo <<<'if' if(条件)//条件 { //执行语句 }else { //执行语句 } if; echo '</pre>'; if(empty($a)) { echo '结果:为空'; }else { echo '结果:不为空'; } echo '<h3>多分支</h3>'; echo '<pre>'; echo <<<'if' if(条件)//条件 { //执行语句 }elseif(条件) { //执行语句 }else { //执行语句 } if; echo '</pre>'; if(getType($obj)=='object') { echo '结果:$obj是对象'; } elseif (getType($obj)=='array') { echo '结果:$obj是数组'; }else { echo '结果:$obj是字符串'; } echo '<hr>'; //switch $week=@date('w'); switch ($week) { case '0': echo '星期日'; break; case '1': echo '星期一'; break; case '2': echo '星期二'; break; case '3': echo '星期三'; break; case '4': echo '星期四'; break; case '5': echo '星期五'; break; default: echo '星期六'; break; }
运行实例 »
点击 "运行实例" 按钮查看在线实例