1.php沒有頂級做用域,因此你沒辦法在函數內部使用變量(參數傳遞除外,並且常量是能夠的喲),因此你的變量即便是static的也不能在函數外聲明函數裏用。除非藉助global關鍵字修飾變量才能夠。可是須要注意的是global修飾可不是放在函數外的,而是放在函數裏面。php
$i=10; global $i;//這麼作是不對的 function say(){ global $i;//這樣作是正確的,可是隻能寫成這樣,global $i=10;這麼寫是錯的。 echo $i; } say();
2.$的做用:能夠理解爲將 存有符合變量命名規範的字符串 的變量 解析成指針。函數
$mk='tttt'; $tttt=10; echo $$mk;//10
3.若是對字符串進行算術運算,那麼很不幸的告訴你,即便是單個字符php也不會將其轉換成ASCII進行運算。而是將字符串變爲0;
4.php是能夠操做指針的,好比按引用傳遞參數spa
$i=10; function add(&$k){ $k+=10; echo $k;//輸出20 } echo $i;//輸出20
5.php能夠爲函數的形參設定初始值指針
$i=10; function say($i,$j=10){ echo $i+$j; } say($i);//20
6.php所謂變量函數的概念其實和JavaScript中對函數對象(var obj=function(){})的概念同樣.
7.php的函數引用實例:code
function &say($i,$j=10){ $k=$i+$j;//不能直接return $i+$j表達式,不然會有警告 return $k;//做爲函數引用必需要有返回值,不然會有警告 } $k=&say(10,10); echo $k;
8.特立獨行的foreach,傳說php在5以後能夠foreach 對象,(還沒學到面向對象,之後再補)對象
$arr=array('jack','mike','tom'); foreach($arr as $key=>$value){ echo $arr[$key];//jackmiketom echo $key;//012 echo $value;//錯誤,不能這麼作 } foreach($arr as $value){ echo $value;//jackmiketom echo $arr[$value];//錯誤,不能這麼作 }
9.變態的continue:能夠再continue後面書寫數字,以命令程序跳出幾層循環。如: continue 3; 跳出3層循環。blog