- php用分號 ;分隔語句
- 用逗號來分隔函數參數和其他清單項目
- 佔空間字元,例如換行,空格和tab都被認為是空格
- 用點號連接字串
-
php注釋有幾種方式:
/* */ // #
-
php是弱類型語言,不必在變數使用之前聲明
-
php可以進行變數類型轉換
$test = 0;$test1 = (float)$test1; //將int強制轉為float
-
常量都是大寫,常量和變數的區別就是它沒有$
-
php有一些超級全域變數
- $GLOBALS所有全域變數數組
- $_SERVER伺服器環境變數數組
- $_GET通過GET方式傳遞給該指令碼的變數數組
- $_POST通過POST方式傳遞給該指令碼的變數數組
- $_COOKIE cookie變數數組
- $_FILES與檔案上傳相關的變數數組
- $_ENV環境變數數組
- $_REQUEST所有使用者輸入的變數數組
- $_SESSION會話變數數組
< ?phpforeach($_SERVER as $var => $value){ echo "$var => $value \n";}?>----CR_RUNID => 19006 TERM_PROGRAM => CodeRunner TERM => dumb SHELL => /bin/zsh TMPDIR => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/ CR_DEBUGGING => 0 SSH_AUTH_SOCK => /private/tmp/com.apple.launchd.EFcqscDf4y/Listeners filename => Untitled 2.php __CF_USER_TEXT_ENCODING => 0x1F5:0x19:0x34 CR_DEVELOPER_DIR => /Applications/CodeRunner.app/Contents/SharedSupport/Developer CR_FILENAME => Untitled 2.php PATH => /Library/Application PWD => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/CodeRunner XPC_FLAGS => 0x0 CR_TMPDIR => /var/folders/_4/6v2frjcx2w90jvq9dh92z1vw0000gn/T/CodeRunner XPC_SERVICE_NAME => 0 SHLVL => 1 ANT_ROOT => /Applications/Cocos/tools/ant/bin CR_VERSION => 3960 LC_CTYPE => UTF-8 COCOS_FRAMEWORKS => /Applications/Cocos/frameworks CR_ENCODING => 4 _ => /usr/bin/php PHP_SELF => Untitled 2.php SCRIPT_NAME => Untitled 2.php SCRIPT_FILENAME => Untitled 2.php PATH_TRANSLATED => Untitled 2.php DOCUMENT_ROOT => REQUEST_TIME_FLOAT => 1454780104.3473 REQUEST_TIME => 1454780104 argv => Array argc => 1
-
有三元操作符
($grade >= 50 ? 'Passed' : 'Failed')
-
數組可以用 []訪問數組也可以用 =>
- 反引號“執行命令
- 可以用new和->來初始化類的執行個體和訪問類的成員,也可以調用方法
- print比echo慢,因為print會返回。
- 可以用gettype()來測試函數類型,php也提供了其他測試函數,如is_array(),is_object()等
- 測試變數狀態可以用isset()和empty(),注意區別,前者是判斷變數是否有被set,後者是判斷變數是否為空白
-
可以使用printf進行資料格式化輸出,跟c語言類似,支援$d,$s等
printf ("aaa is $d.",100);
-
可以用sprintf(),sprintf和printf相同,不過他將輸出賦值給一個字串
$cost = sprintf("$%.2f",43.2); //結果是$cost = $43.20
- php支援布爾型,整形,字串,數組,對象
-
變數按值賦值和按引用賦值按值賦值是賦值變數,每個變數在記憶體中的地址是不一樣的,按引用賦值是多個變數引用同一個內容,在記憶體中的地址是指向同一個的。
按值賦值$value1 = "hello";按引用賦值$value1 = "hello";$value2 = &$value1;
變數範圍
php變數有4種範圍:
1.局部變數
在函數中聲明的變數是局部變數,只能在函數中引用。
$x = 4;function assignx(){ $x = 0; //這個就是局部變數 print ("A result is :".$x); //雖然一樣的名字,但是函數內部只使用內部變數}assignx();print ("B result is:".$x);//在外部,會使用外部範圍的變數----A result is :0 這是執行了assignx()的結果B result is:4 這是執行了assignx()下一行的結果
2.函數參數
顧名思義,在函數參數中的範圍,函數參數在退出函數後也是無法使用的
function xman($value) { //這個就是函數參數 $value = $value * 10; return $value;}$a = xman(10);echo $a;---100
3.全域變數
全域變數可以在程式任何地方訪問,關鍵字是global或者是GLOBALS數組
$somevar = 15;function addit1() { global $somevar; //有global就變成了全域變數,全域變數不會消失,所以是15+1 $somevar++; echo "somevar1 is ".$somevar."\n";}addit1();function addit2() { $somevar++; //因為不是全域變數,是局部變數,因為至於函數內部之中,所以從0開始,所以是0+1 echo "somevar2 is ".$somevar."\n";}addit2();----somevar1 is 16somevar2 is 1
4.靜態變數
靜態變數在函數退出時也不會消失,跟全域變數很像,但是不能在任何地方訪問
function keep_track() { static $count = 0; //計算結果被儲存了,所以不斷+1 $count++; echo $count."\n";}keep_track();keep_track();keep_track();----123
常量
常量constant是指在程式執行中無法修改的值,常量是全域的,可以在任何地方引用。
define("PI",3.141592); //定義常量用define$pi2 = 2 * PI; //引用常量不需要$
運算式
%s = 6;這個就是運算式
$a++
$sum = $a + $b;
$a = 'abc'.'cde';
$a && $b
$a == $b $a === $b $a != $b
$a < $n
轉義
雙引號會解析變數,所以一般用單引號。
大括弧
通過大括弧來表示複雜的資料類型的變數
echo "the capital of ohio is {$capitals['ohio']}";
控制結構和迴圈
跟其他的語言類似if語句,do while語句,for 語句,switch語句,foreach語句,break和continue語句,php5.3支援goto
檔案包含
主要是為了將php的檔案分離,例如將一些類放到單獨的檔案,然後按需要調用就好了,這樣不用吧所有的類寫到同一個檔案裡面
< ?phpinclude_once("/usr/local/test.php");?>
< ?phprequire("/usr/local/test.php");?>
< ?phprequire_once("/usr/local/test.php");?>
- include 和include_once區別是once會先驗證是否包含了檔案,是的話,就不再次包含檔案
- require和require_once類似
- require和include的區別在於,require出錯的時候回停止執行,而include不會。
本文由 PeterYuan 創作,採用 署名-非商業性使用 2.5 中國大陸 進行許可。 轉載、引用前需聯絡作者,並署名作者且註明文章出處。神一樣的少年 »php基礎(重寫)