<?php //變數 用$加上變數名來表示 $var_str = "Sample Val"; echo $var_str; /****************************************************/ //變數名是區分大小寫,但是函數名是不區分大小寫。 //php中推薦變數名稱全部用小寫,不同單詞間用底線隔開。 //如:$font_size $user_name $user_name_id /****************************************************/ //變數的初始值 //一般最好在定義的時候就給於初始值:看如下代碼 $var1; echo $var1; //$var==""; echo $var1."adb"; //$var==""; echo $var1 + 10.5; //$var==0; if($var){ //$var==false; echo "真"; } //以上就是不對其進行初始化的後果,導致其在不同的情況下的初始值不一樣。 /*****************************************************/ //可以通過isset()檢測變數是否被設定。 $var2; if(!isset($var2)){ echo "var2沒有被設定"; } $var2 = null; if(!isset($var2)){ echo "var2沒有被設定"; } $var2 =""; if(isset($var2)){ echo "var2被設定"; } // 需要注意一點 //$var3 = 1,var4= 2, var5 = 3; //以上語句是不對的。在php中不允許一條語句定義多個變數. /****************************************************/ //引用變數 $var6 = &$var1; $var7 = "the default string"; $var8 = &$var7; $var8 = "the string change"; echo $var8; //the string change; echo $var7; //the string change; //從這裡可以看出一些問題。其實var8就相當於是var7的指標。 //直接指向var7的地址。那麼修改var8的值,就想當於是修改var7的值。 /****************************************************/ //可變變數 $str = "name"; $name = "jhone"; $out_str = $$str; //相當於$out = $name; $out_str = ${$str}; //上面的代碼呢,在$str的前面再加一個$ ,就變數$str的值name作為新的變數的名稱 //這就是為什麼$out_str = $$str;相當於$out = $name; //如果修改$str的值,那麼$out_str的值也會跟著修改。 //在for迴圈結構中使用可變變數 $var_name = "str"; $var9 = "the first string"; $var10 = "the second string"; $var11 = "the third string"; for($i = 9; $i < 12 ; $i ++){ echo = ${$var_name.$si}; } //這裡的.表示連結符。並不是c++ 或者java中的屬性符號.; /****************************************************/ //變數範圍 //全域變數:函數外部的變數,預設情況下也只能在函數外部使用。函數內部需要使用,需要用global聲明. //局部變數:函數內部 $type = "book"; $number = "number"; function fun1(){ global $type; $type = "clothes"; $number = "skirt"; } fun1(); echo "the type is".$type; echo "the number is".$number; //當然對於全部變數的訪問,可以通過php預定義的全域變數資料$GLOBALS實現。 fun2(){ $GLOBALS['type'] = "clothes"; } fun2(); echo "the type is".$type; /****************************************************/ //靜態變數 //格式如下: //static $var_name; function fun3(){ $num = 0; echo num; num ++; } function fun4(){ static $num = 0; echo num; num ++; } for($i =0 ; $i< 10; $i ++){ fun3(); } for($i =0 ; $i< 10; $i ++){ fun4(); } /* * 0000000000 * 0123456789 */ /****************************************************/ //預定義變數 //提供一套數組,包含了伺服器,使用者環境,用戶端輸入等資料。 //這些預定義數組在當前指令碼的全域範圍內是自動生效的, //在函數中直接使用而不需要用global關鍵字進行聲明a //這一點與自訂的全域變數不同,所以稱超全域變數. //前面用到的$GLOBALS資料就是一個超全域變數. //php中只有預定義數組是超全域變數,沒有子定義超全域變數的機制。 $_SERVER數組 //web伺服器建立的資料,如頭資訊,檔案路徑,伺服器名等。 //print_r($_SERVER); /****************************************************/ //$_ENV數組 //php伺服器氫的作業系統中設定的所有環境變數。 print_r($_ENV); /****************************************************/ //$_GET數組 //用戶端通過URL請求傳遞到指令碼的變數. //由一個"?"符號跟在URL地址後,以{變數=數值}資料對的形式給出,多個資料對之間用&隔開 //http://localhost:8080/admin/test.php?name=czh&city=changsha //包含兩個變數:$_GET["name"];$_GET["city"] /****************************************************/ //$_POST數組 //用戶端通過post方式傳遞到指令碼的變數. /****************************************************/ //$_COOKIE數組 /****************************************************/ //$_FILE數組 //用戶端通過POST方式上傳檔案的資訊. /*<form action="" post = "multipart/form-data"> <input type = "file" name = "filename"/> </form> */ /****************************************************/ //$_REQUEST數組 //使用php4.0以後的版本,包含$_GET,$_POST,$_COOKIE中的全部內容 /****************************************************/ //$_session數組 //用於實現session會話 /****************************************************/ //數組運算子 //php中提供了一組專用於數組的運算子。包括:聯合運算子" + " ,相等運算子 "==" 全等運算子 " ===" //不等運算子" ! = " 和 "<>" 不全等運算子"!==" /****************************************************/ //特殊運算子 //錯誤運算子 @ @($a/$b + $c); @session_start();//錯誤資訊將忽略 /****************************************************/ //執行運算子 ''(反引號) //foreach 迴圈(只是用於數組) foreach(array_exprssion as $key => $value){ } //在將數組進行遍曆的同時,還將元素的索引名複製給變數key?>