標籤:
變數定義:變數來源於數學。是電腦語言中能儲存計算結果或能表示值的抽象概念。即在程式運行過程中它的值是允許改變的量。
變數的命名規範:變數名由A到Z、a到z,數字0-9,和_組成,並且區分大小寫,不能以數字開頭。
變數賦值方式有二種傳值賦值和引用賦值。
1.傳值賦值,傳值賦值是當將一個運算式的值賦予一個變數時,新的變數在記憶體中的指標指向原變數的的值,當一個變數的值賦予另一個變數時,改變其中一個變數的值,將不會影響到另一個變數。如 $a = 2;(將等號右邊的值2賦給等號左邊的值$a)
2.引用賦值,引用賦值是 新的變數在記憶體中的指標指向了原始變數在記憶體儲存的地址,任意改變其中一個變數的值,另外一變數的值也會改變,如($a = 8; $b = &$a;)
舉列子就是:如2個人在電視,傳值賦值就是2個人在2台電視看同一個台,一個人換台了,不影響另外一個人接著看前面的那台。引用賦值是2個人在看同一台電視,一個人換台了,2個人都要看新的台。
變數的類型有8種,記憶體中的變數值並不是只儲存了變數值,還儲存了它的變數類型
1.整型(integer)數學中的整數 如1,789;
2字串型(string) 一串字元 如‘adbcdf‘;
3浮點型(float,double)數學中的小數 如’3.115926‘;
4布爾型(boolean)真和假 false和true;
5.null 沒有值 值標註了它的類型為NULL 它的值的欄位是空的,null是沒有值的。
6數組(array) 索引值對符合資料 如$a = array(name=>‘zhansan‘,age=>‘23‘);
7.對象(object)對象是儲存資料和有關如何處理資料的資訊的資料類型。對象由2部分組成 屬性和方法
8資源(resource) 是可讀可寫的一組資料
變數的檢測:
echo一個不存在的變數,會報notice(注意,警告)錯誤,所以要檢測一下這個變數是不是存在;
1.isset()函數——檢測變數是否設定(聲明),已經聲明的變數且值不為NULL的變數 檢測結果返回true 否則全部返回false 檢測多個變數時,每個單項符合要求才會返回true,否則結果為false,isset()函數只能用於檢測變數,傳遞任何其他的參數都會解析錯誤,
檢測常量是否設定(聲明)可以用defined()函數
2.empty()函數——檢測一個變數是否為空白,若變數不存在則返回 TRUE,若變數存在且其值為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 TURE
若變數存在且值不為""、0、"0"、NULL、、FALSE、array()、var $var; 以及沒有任何屬性的對象,則返回 FALSE。 empty() 只能用於變數,傳遞任何其它參數都將造成Paser error而終止運行。
以下值,都被理解為成布爾型值的假,‘0‘,0,0.0,false,NULL,array();而其它值,都被當成布爾型的真
變數類型的檢測:
檢測一個變數,php是把它儲存成一個什麼的樣的類型
gettype()——擷取變數的類型 不過盡量不要使用 gettype() 來測試某種類型,因為其返回的字串在未來的版本中可能需要改變。此外,由於包含了字串的比較,它的運行也是較慢的。使用 is_* 函數代替。
is_float()[is_double] 檢測變數是否為浮點型
is_int()[is_integer] 檢測變數是否為整型
is_string() 檢測變數是否為字串
is_object() 檢測變數是否為對象
is_array() 檢測變數是否為數組
is_resource 檢測變數是否為資源類型
is_bool 檢測變數是否是布爾型
is_null 檢測變數是否為 NULL
調試列印變數:
開發程式的時候,不可避免的要列印變數的值
echo 列印字串和數字 布爾型的true會列印出1,false和null什麼都不顯示
print_r 列印層次化的資料 ,比如對象和數組 不要用echo和print_r列印布爾型的值,因為會干擾我們 用var_dump列印布爾和null
var_dump 列印變數的類型和值(調試代碼方便)
類型轉換
php基礎:變數,運算子,控制結構