【三】php之梗

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

相關文章
相關標籤/搜索