php基礎:變數,運算子,控制結構

來源:互聯網
上載者:User

標籤:

變數定義:變數來源於數學。是電腦語言中能儲存計算結果或能表示值的抽象概念。即在程式運行過程中它的值是允許改變的量。

變數的命名規範:變數名由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基礎:變數,運算子,控制結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.