1. 程式人生 > >PHP基礎知識鞏固

PHP基礎知識鞏固

1. static 關鍵字

   class A{
        public static $num=0;
        public function __construct(){
            self::$num++; }
    }
    new A();
    new A();
    new A();
    echo A::$num;

結果為 3,因為static屬性常駐記憶體,不會立即回收。且靜態屬性不能通過一個類已例項化的物件來訪問。在類的內部使用 self::num使A::num,類的外部使用A::num 來訪問。而不是A->$num

2. 繼承類

<?php 
class A{ 
    public function __construct(){ 
        echo "Class A...<br/>"; 
    }
}
class B extends A{
    public function __construct(){
        echo "Class B...<br/>"; 
    }
}
    new B();
?>

輸出結果為:Class B… A 子類繼承父類,子類的建構函式會覆蓋父類的建構函式,子類 沒有定義 構造 函式時,預設繼承父類的構造方法

  1. 物件變數賦值
<?php 
class A{
    public $num=100; 
}
$a = new A();
$b = $a;
$a->num=200;
echo $b->num;
?>

輸出結果為:200 在php5,一個物件變數已經不再儲存整個物件的值。只是儲存一個識別符號來訪問真正的物件內容。 當物件作為引數傳遞,作為結果返回,或者賦值給另外一個變數,另外一個變數跟原來的不是引用的關係,只是他們都儲存著同一個識別符號的拷貝,這個識別符號指向同一個物件的真正內容。 物件的複製是通過引用來實現的,

$a=new A();$b=$a;
//相當於
$a=new A();$b=&$a;
  1. date()函式支援 1.Y 4位數字完整表示年份,y兩位數字表示年份 2.a/A:表示上午或者下午,以am或者AM表示

  2. 以讀寫模式開啟檔案 "FILE.txt"的正確方法是 fopen(“FILE.txt”,“r+”); ,該函式沒有rw引數,用r+表示讀寫

'r'    只讀方式開啟,將檔案指標指向檔案頭。
'r+'    讀寫方式開啟,將檔案指標指向檔案頭。
'w'    寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
'w+'    讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
'a'    寫入方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
'a+'    讀寫方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
'x'    建立並以寫入方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 呼叫失敗並返回 FALSE,並生成一條 E_WARNING 級別的錯誤資訊。如果檔案不存在則嘗試建立之。這和給 底層的 open(2) 系統呼叫指定 O_EXCL|O_CREAT 標記是等價的。
'x+'    建立並以讀寫方式開啟,其他的行為和 'x' 一樣。