php的資料型態:
Boolean - 轉換型別時 0, 空字串, 空變數, 空物件, NULL都轉換為False; 其餘會轉換為True
Integer - 支援10進位, 8進位,16進位
Float - 不精準, 支援Double關鍵字
String - 雙引號字串裡的變數會顯示變數值, 單引號字串則不會; 字串可用 . 連接;
支援以下跳脫字元:
\n -linefeed (LF or 0x0A (10) in ASCII)
\r -carriage return (CR or 0x0D (13) in ASCII)
\t -horizontal tab
\v -vertical tab (PHP 5.2.5)
\f -form feed(PHP 5.2.5)
\\ -backslash
\"
\'
\$
\[0-7]{1,3} -八進位
\x[0-9A-Fa-f]{1,2} -十六進位
Array - 用法 $a = array('aa', 'bb', 'cc) 或 $a[0]="aa"
或使用 key => value配對: $arr = array("foo" => "bar", 12 => true); //key為字串時須加 " " 或 ' '
$a = array(5 => 43, 32, 56, "b" => 12); //$a[6]為32, $a[7]為56
移除 array 裡的 key可使用 unset()
php支援多維陣列
Object - 物件導向
object之外的類型轉型成object, 會建立一個 stdClass, 若是NULL 則該物件也是NULL; 若是 array 則會將key與值轉換成屬性; 若是其他型別則會以 scalar
Resource - php可以透過特殊函數控制外部物件, 如資料庫連線, 開啟檔案
NULL - 三種情況下變數為NULL: 1-變數被 asign 為 NULL; 2-變數還沒有被 asign 值; 3-變數被unset()
型別轉換:
(int)、(integer)、intval() -無條件捨去
(float)、(double)、(real)、floatval()
(bool)、boolean()
(string)、strval()
(binary) - cast to binary string
(array)
(object)
object之外的類型轉型成object, 會建立一個 stdClass, 若是NULL 則該物件也是NULL; 若是 array 則會將key與值轉換成屬性; 若是其他型別則會以 scalar
php變數:
以 $ 開頭, 其後第一個字為字母(大小寫區別)或 _ (底線且後面接大寫字母的通常是php系統變數), 之後的可使用底線, 字母, 數字
常數:
bool define ( string name, mixed value [, bool case_insensitive] )
常數用 define() 定義(若已有此常數會回傳false), 常數名不以 $ 開頭, 且只能是 int, float, string, boolean
傳值與傳址:
php中的 asignment 全部是 passing value, 除非加上 & 運算子才會 passing reference
只有"有名字"的"變數"才可以用 & 做傳址 asignment
$foo = 25;
$bar = &$foo;
$bar = &(24 * 7); //這行是錯的, 另外 function 名稱也不可以傳址
沒有留言:
張貼留言