php基礎(重寫)

來源:互聯網
上載者:User
  • 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基礎(重寫)

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.