1.讀程題
<?php
/**
* 寫出如下程序的輸出結果:
* <?php
*
* $count = 5;
* function get_count()
* {
* static $count;
* return $count++;
* }
* echo $count;
* ++$count;
*
* echo get_count();
* echo get_count();
*
* ?>
*
*/
$count = 5;
function get_count()
{
static $count;
return $count++;
}
echo $count;//輸出5
++$count;//count 變成6
echo get_count();// 靜態(tài)變量 未初始化 所以為NULL echo為空,++變成1
echo get_count();//輸出1
//輸出結果:51 這里還考了前++和后++ 如果把上一題改為前++ 則輸出:512
- 考點:
作用域變量個靜態(tài)變量
變量的作用域
變量的作用域就是變量的生效的范圍白胀,大部分PHP變量只有一個單獨的范圍沸毁,這個單獨的范圍同樣包括了include 和 require 引入的文件
<?php
$outer = 'hello world';//全局變量
function myFunc(){
echo "output ".$outer."\n";//輸出是空 因為是局部變量
}
myFunc();
?>
使用global引入或者超全局變量$GLOBALS
<?php
$outer = 'hello world';
function myFunc(){
global $outer;
echo "output ".$outer."\n";//輸出是 hello world 因為引入了全局變量
}
myFunc();
?>
<?php
$outer = 'hello world';
function myFunc(){
// global $outer;
$outer = $GLOBALS['outer'];
echo "output ".$outer."\n";//輸出是 hello world 因為引入了全局變量
}
myFunc();
?>
靜態(tài)變量
靜態(tài)變量僅在局部函數(shù)域中存在经宏,當函數(shù)執(zhí)行離開次作用域時茂缚,其值并不會消失。
屏幕快照 2017-09-02 下午2.20.52.png
屏幕快照 2017-09-02 下午2.21.47.png