变量作用域:
php只有函数作用域
三种作用域: 全局, 在函数之外创建的变量,可在函数外部直接使用
局部,函数内部创建的变量,仅限在函数内部使用
静态,函数内部创建,仅在内部使用并且函数执行后他的值不消失
当用户定义一个全局变量的时候,这个变量同时也自动成为超全局变量数组$GLOBALS的一个元素
超全局变量不受作用域限制
自定义函数中要使用全局变量需要用到global 关键字,或者GLOBALS['']定义的全局变量数组。、
实例
<?php $a=11; echo <<< theEnd $a theEnd; echo ($a>20? '已满18' :'未满18' ) ; echo'<hr>'; $var1; $var2= null; $var3=21; $var4=''; $var5=0; @var_dump (is_null($var1)); var_dump (is_null($var2)); var_dump (is_null($var3)); var_dump (is_null($var4)); var_dump (is_null($var5)); echo "<hr>"; var_dump( empty($var1)); var_dump( empty($var2)); var_dump( empty($var3)); var_dump( empty($var4)); var_dump( empty($var5)); echo "<hr>"; var_dump( isset($var1)); var_dump( isset($var2)); var_dump( isset($var3)); var_dump( isset($var4)); var_dump( isset($var5)); echo "<hr>"; echo "作用域"; echo'<br>'; $tag='大帅哥'; function eff1() { // global $tag ; $name='lw'; return $name.'是'.$GLOBALS['tag']; } echo eff1(); echo "<br>"; function sum1() { static $fristNmuber=1; return '第' .$fristNmuber. '次输出'.$fristNmuber++; } echo sum1(); echo sum1(); echo sum1(); echo sum1(); define('TIRES', 200); const WHEEL=399; echo'<hr>'; echo '分支'; echo'<br>'; $total=18; $discount; if($total<10){ $discount=0; } elseif (($total>10)&&($total<50)) { $discount=0.1; } else {$discount=0.2;} $sum=TIRES*$total*(1-$discount); echo $sum,'<br>'; $find=''; switch ($find) { case 'A': echo "I'm a old custormer"; break; case 'B': echo "I'm a new guy"; break; default: echo 'i don\'t know' ; break; } echo'<hr>'; echo 'for 循环'; echo'<br>'; $sum2=0; for ($i=0; $i <=100; $i++) { $sum2=$sum2+$i; } echo $sum2; ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例