1、在linux下使用php的方式:
   vi test
   編輯test的內容
   <?php
       echo "hello world";
   ?>
   保存后運行 php test
   即得到hello world字符串。這種形式使用只合適學習php的語法,php在網絡方面的功能就發揮不出來了。

2、php和javascript一樣是弱類型語言。其賦值形式為
   $money = 1000.89;
   php支持Integer,String,Float,Boolean,Array和Object.
3、php獲取表單數據的方式:
   $tireqty
   $_POST['tireqty']
   $HTTP_POST_VARS['tireqty']
4、可變變量。工作原理就是用一個變量的值作為另一個變量的名稱,如:
   $varname = 'tireqty';
   $$varname = 5; (此時相當于給tireqty變量賦值5)
5、聲明常量:
   define('TIREQTY', 10);建議使用大寫字母
6、變量的作用域:
  
7、引用
   賦值操作時,先產生一個原變量的一個副本,然后再將它保存在內存的其他地方
   $a = 5;$b = $a;$a = 7;
   經過這樣操作后,$b的值依然為7不會發生改變。
   如果使用引用操作符&
   $b = &$a; $a = 7;
   那么$b也就同時等于7。因為$a和$b都指向了相同的內存地址。
8、錯誤抑制操作符
   錯誤抑制操作符@可以在任何表達式前面使用,即任何有值的或者可以計算出值的表達式之前
   如:$a = @(57/0);
   如果沒有@操作符,這一行代碼將產生一個除0警告,使用這個操作符,這個警告就會被抑制住。

9、執行操作符
   執行操作符是一對操作符,它是一對反向單引號(``)。php將試著將反向單引號之間的命令當做
   服務器端的命令來執行。表達式的值就是命令的執行結果。如:
   $out = `ls -al`;
   echo $out;

10、結束一個循環或者程序
    支持break、continue和exit,exit會跳出整個腳本程序。
11、php對文件的操作和c語言中的文件操作是一樣的。
12、php中對數組是可以隨意增長的,這點和javascript一樣。
    arry[i] = value的方式就可以將數組的size加1
   初始化方式1: $products = array("Tires","Oil","Spark");
             2:products[0]="Tires",products[1]="Oil",products[2]="Spark";
13、數組的循環
   可以使用for循環,也可以使用foreach
   foreach($products as $current)
     echo $current.' ';
   foreach是專門為數組而設計的。
14、相關數組(相當于hashmap)
   $prices = array('Tiers'=>100, 'Oil'=>10, 'Spark'=>4);以產品作為關鍵字,以價格作為
   值的相關數組。
   讀取方法:
   foreach($prices as $key=>$value)
     echo $key.'=>'.$value;
  
   while($element = each($prices))
   {
     echo $element['key'];
     echo '=>';
     echo $element['value'];
    }

   while(list($product,$price) = each($prices))
     echo "$product=>$price";
15、數組排序
   sort、asort和ksort。asort是按照相關數組的value進行排序,而ksort是按照key進行排序。
   以上是按照升序進行排序的,如果需要按照降序進行排序那么為rsort,arsort和krsort。也可以
   自定義排序,如多維數組,使用usort($products,compair),compair是一個函數,需要用戶自定義。
  
16、file函數返回一個數組,文件中的每一行是數組的一個元素
    $orders = file("orders.txt");
17、explode函數用于處理字符串的分隔符
   $line = explode("\t", $orders[i]);返回的line就是一個數組,這個功能類似于Java的
   StringTokenizer類的功能
18、統計數組元素個數:count、sizeof和array_count_values,其中最后一個是返回一個相關函數
   key為數組元素,value為這個數組元素出現的次數。
19、require和include函數,用于加載文件,如果此文件是.php文件則執行,如果不是則當成
   普通文件加載進來。如果里面包含<?php command ?>也會執行。
   這兩個函數的區別只是如果加載失敗require會報錯,而include只是會警告
20、php的錯誤提示:通常,php給出的錯誤信息是非常有用的。它可以告訴你錯誤出現在哪個文件
   中,錯誤在文件的哪一行等。
21、如果希望值發生改變,就采用引用傳遞參數
   function increment(&$value, $amount =1)
   {
      $value = $value + $amount;
   }

   使用:
   $a = 10;
   echo $a.'<br />';
   increment($a);
   echo $a.'<br />';
   當然如果不采用引用傳遞還希望$a發生改變可以將其變成全局變量。
22、php5引入了全新的、功能更為強大的面向對象實現,它使得類和對象更用用。
23、class的定義
    class classname
    {
         //方法和屬性的引用采用“->”方式
         $attribute;
         function _construct($param)
         {
            $this->attribute = $param; //注意和java不同,這里this前面是有一個$符的
            echo "Hello";
          }
          function _destruct()  //可選
          {
           }
      }

24、控制訪問符:public是默認屬性,這里與Java不一樣。
25、parent關鍵字允許調用父類操作的方法,如要從類B中調用父類A的操作A::operation,可以
   使用parent::operation()。但是如果operation中的操作屬性被重載了,還是會使用B中的屬性值
26、final關鍵字用于類和函數,同Java一樣,防止繼承和重載的。php同樣是只能繼承一個父類,但是
   可以實現多個接口。繼承的關鍵詞是extends,實現的關鍵字是implements.
27、php4之前的對象是按照值傳遞的,而php5是按照引用傳遞的,這點和Java一樣了。
28、使用Per-class常量
   class Math {
    const pi = 3.14159;
   }
   使用: echo Math::pi;
29、靜態方法:使用static關鍵字,同Java。調用時用Math::operation();
30、php5提供instanceof關鍵字
    ($b instanceof B) 返回true
    ($b instanceof A) 返回true
31、php5引入clone關鍵字,允許復制一個已有的對象
   $c = clone $b; 同Java的clone意義,但是用法不同。
   clone后c具有同b一樣的屬性,如果要改變默認的clone方式,需要在類中寫一個_clone方法

32、php5提供abstract關鍵字,意義同java。
33、php5習慣利用_call實現方法的重載(注意重載是指方法名相同而參數不同,overload,而override
    是子類覆蓋父類的方法)。因為php使用靈活的類型和(容易實現的)可選的函數參數
    如:
    public function _call($method,$p)
    {
       if($method == 'display')
         if(is_object($p[0]))
            $this->displayobject($p[0]);
         elseif(is_array($p[0]))
            $this->displayArray($p[0]);
         else
            $this->displayScalar($p[0]);
     }
     _call()方法必須帶有兩個參數,一個包含被調用的方法名稱,第二個參數包含傳遞給
     該方法的參數數組。使用:
     $ov = new overload;
     $ov->display(array(1,2,3)); //調用displayArray函數
     $ov->display('cat');   //調用displayScalar函數
34、php5有_toString(),同Java,如果實現則可以自定義打印類實例對象。php5提供了Reflection
   API。異常處理是php5中的一個重要特性。