PHP學(xué)習(xí)不完全筆記
一、PHP支持的4中標(biāo)記風(fēng)格
1、XML風(fēng)格
<?php
echo "php的XML風(fēng)格。";
?>
2、腳本風(fēng)格
<script language="php">
echo "腳本風(fēng)格";
</script>
3、簡短風(fēng)格
<? echo “簡短風(fēng)格的標(biāo)記?!??>
4、ASP風(fēng)格
<%
echo "ASP風(fēng)格的標(biāo)記。";
%>
二、PHP支持的數(shù)據(jù)類型
PHP一共支持8種數(shù)據(jù)類型,4種標(biāo)量類型,2種復(fù)合類型,2種特殊類型。
- 4種標(biāo)量類型:boolean(布爾類型),integer(整型),float\double(浮點型),string(字符串類型)。
- 2種復(fù)合類型:array(數(shù)組),object(對象)。
- 2種特殊類型:resource(資源),null(空)。
PHP中的美元符號是變量的標(biāo)識符~~,所有的變量都是以美元符號開頭的,無論是聲明變量還是調(diào)用變量的值都需要使用美元符號。
PHP的字符串類型是連續(xù)的字符序列,由數(shù)字,字母,下劃線組成。PHP中有三種定義字符串的放肆:①單引號(‘’),②雙引號(“”),③界定符(<<<)。雙引號和單引號的區(qū)別是:單引號中的包含的變量會按照普通的字符輸出,雙引號中包含的變量名稱會被替換成實際的值。
PHP中的整型變量的值如果超過了最大支持的范圍,那么就會被當(dāng)做float類型的值進行處理,這種情況被稱為整型溢出。如果進行運算的表達式得出的結(jié)果超出了整型變量的范圍也會被當(dāng)做float類型進行處理。
PHP的float類型既可以存放整型變量也可以存放浮點型變量。浮點型的變量存放的值得精度比整型變量的精度大很多。float是單精度浮點數(shù),double是雙精度浮點數(shù)。在PHP中浮點數(shù)的標(biāo)識方式有兩種:1、普通的表示法 ,2、科學(xué)計數(shù)法。
PHP的數(shù)組是一組數(shù)據(jù)的集合,將一組數(shù)據(jù)組織起來組成一個可操作的整體。數(shù)組中的每一項叫做數(shù)組的元素,每一個元素都包括元素索引和元素值兩部分。數(shù)組元素的索引可以使數(shù)組或者字符串組成,數(shù)組元素的值可以是多種數(shù)據(jù)類型。定義數(shù)組的語法方式如下:
- ① $array=('value1','value2','value3',,,,,,,,,,);
- ② $array[key]='value1';
- ③ $array=array(key1=value1,key2=value);
在PHP中如果給定的數(shù)值超過了整型變量表示的最大范圍,就會被當(dāng)做是float類型的值進行處理,如果一個表達式的結(jié)果超出了整型變量的范圍也會被當(dāng)做是float類型的變量進行處理。
三、PHP中特殊的數(shù)據(jù)類型
1、resource (資源)
資源是一種特殊的變量,又叫做句柄,是保存到外部資源的一個引用。資源是通過專門的函數(shù)來創(chuàng)建和使用的。在PHP中系統(tǒng)會自動釋放不再被使用的資源,避免內(nèi)存耗盡。資源釋放的過程是自動的不需要手動完成。
2、null(空)
null表示沒有給變量設(shè)置任何的值,null不區(qū)分大小寫,null和NULL是一樣的。一個變量的值是null,則有三種情況:①變量聲明之后沒有賦予任何的值,②變量聲明之后被賦予null值,③被unset()函數(shù)處理過的變量的值會是null。
PHP的is_null()函數(shù)可以用來判斷一個變量的值是否為null,如果是null就返回true,否則就返回false。unset()函數(shù)的作用是銷毀傳入的變量,被銷毀的變量的值會變成null。但是unset()函數(shù)不會返回任何的值。
四、PHP的數(shù)據(jù)類型轉(zhuǎn)換操作
- 在轉(zhuǎn)換PHP的變量的數(shù)據(jù)類型的時候,只要在變量的前面加上一個小括號,在小括號中指定將要轉(zhuǎn)換成的變量類型就可以的。
- 在轉(zhuǎn)換成boolean類型的時候,null、0和為賦值的變量或者數(shù)組都會被轉(zhuǎn)換成false,除此之外的其他的值都會被轉(zhuǎn)換成true。
- 在轉(zhuǎn)換成整型的時候,布爾值false會被轉(zhuǎn)換成0,布爾值true會被轉(zhuǎn)換成1.浮點數(shù)的小數(shù)部分會被去掉,字符型的值如果以數(shù)字開頭就截取到非數(shù)字位,如果不是以數(shù)字開頭就轉(zhuǎn)換成0。
- 類型轉(zhuǎn)換也可以使用settype()函數(shù)進行操作,該函數(shù)可以將指定 的變量轉(zhuǎn)換成指定的數(shù)據(jù)類型。
五、PHP檢測變量的數(shù)據(jù)類型
- is_bool()判斷變量是否為布爾類型。
- is_integer()或者is_int()判斷變量的值是否為整型。
- is_string()判斷變量的類型是否為字符類型。
- is_float()和is_double()判斷變量是否為浮點類型。
- is_null()判斷變量的值是否為null。
- is_array()判斷變量的值是否為數(shù)組類型。
- is_objetc()判斷變量的值是否為對象類型。
- is_numeric()判斷變量的值是否為數(shù)字或者是由數(shù)字組成的字符串。
六、PHP常量
常量就是不能被改變的量,常量值設(shè)定以后再腳本的任何地方都不能被改變,任何企圖修改常量值的操作都會引起程序報錯。常量名稱可以由字母、數(shù)字和下劃線組成,但是不能以數(shù)字作為常量名稱的開頭。在PHP中可以使用define()函數(shù)定義常量,程序?qū)嵗?/p>
define(string constant_name,mixed value,case_sensitive=true);
函數(shù)參數(shù)說明:
- constant_name:必選參數(shù),表示常量的名稱。
- value:必選參數(shù),表示常量的值。
- case_sebsitive:可選參數(shù),指定大小寫是否敏感,設(shè)置為true表示大小寫不敏感,設(shè)置為false表示大小寫敏感。
獲取常量值的兩種方法:
- 直接使用常量名稱獲取常量的值。
- 使用constant()函數(shù)獲取常量的值,使用函數(shù)可以動態(tài)的輸出不同常量的值,程序?qū)嵗?/li>
mixed constant(string const_name); //參數(shù)const_name是常量的名稱。判斷一個變量是否已經(jīng)被定義了,可以使用defined()函數(shù),返回的是一個布爾值:
boolean defined(string const_name); //const_name表示被判斷的常量的名稱。
七、PHP變量的聲明以及使用
PHP中的變量使用$符號定義,變量名稱是區(qū)分大小寫的。聲明變量的時候變量名稱不能以字母、數(shù)字和下劃線之外的其他符號開頭。
PHP中的引用賦值,兩個變量可以訪問同樣的內(nèi)容,一個改變的時候另一個也會改變。
八、變量的作用域
- 局部變量:在函數(shù)內(nèi)部定義的變量,變量的作用域就是整個函數(shù)。
- 全局變量:被定義在所有函數(shù)作用域之外的變量,作用域是整個PHP文件,但是在用戶定義的函數(shù)中是不能使用的。如果希望在用戶自定義的函數(shù)中使用全局變量,就需要使用global關(guān)鍵字聲明全局變量。global關(guān)鍵字在函數(shù)內(nèi)部定義了全局變量之后在自定義的函數(shù)中就會訪問到全局變量。
- 靜態(tài)變量:能夠在函數(shù)結(jié)束調(diào)用之后仍然保持原來的值,再次回到其作用域的時候又可以繼續(xù)使用原來的值。
九、PHP函數(shù)
在PHP函數(shù)中的參數(shù)傳遞有兩種方式:
- 按值傳遞
- 按引用傳遞
- 按值傳遞:將變量的值傳入函數(shù)作為參數(shù)。
- 按引用傳遞:將變量的地址作為參數(shù)傳入函數(shù)進行操作。