您好,登錄后才能下訂單哦!
一.PHP數(shù)據(jù)類型
三大數(shù)據(jù)類型(標(biāo)量,復(fù)合,特殊)
在PHP中,一共支持八種原始數(shù)據(jù)類型:它們是4種標(biāo)量類型,boolean(布爾型),integer(整型),float(浮點(diǎn)型)和string(字符串型);兩種符合類型,array(數(shù)組)和object(對象);兩種特殊類型,resource(資源)與空值(null)
字符串的定義方式
1.單引號
要表達(dá)一個(gè)單引號自身,需在它的前面加個(gè)反斜線(\)來轉(zhuǎn)義。要表達(dá)一個(gè)反斜線自身,則用兩個(gè)反斜線(\)。其它任何方式的反斜線都會被當(dāng)成反斜線本身:也就是說如果想使用其它轉(zhuǎn)義序列例如 \r 或者 \n,并不代表任何特殊含義,就單純是這兩個(gè)字符本身。
2.雙引號
用雙引號定義的字符串最重要的特征是變量會被解析,詳見變量解析。
3.heredoc和newdoc
heredoc 類似于雙引號
newdoc 類似于單引號
兩者都是用來處理大文本
代碼
header("Content-type: text/html; charset=utf-8");
$var = 'PHP變量';
$vara = 'PHP變量555555';
echo <<<'aaa'
PHP heredoc技術(shù)
$var
$vara
aaa;
echo <<
PHP heredoc技術(shù)
$var
zhangshan;
代碼實(shí)現(xiàn)區(qū)別 變量加引號和不加引號。
數(shù)據(jù)類型
標(biāo)量:
1.浮點(diǎn)類型
浮點(diǎn)類型不能用于比較計(jì)算的判斷(原因 計(jì)算機(jī)計(jì)算基于二進(jìn)制,有精度缺失)
例子:0.1+0.7==0.7999!=0.8
2.布爾類型(7種)
0,0.0,'',false,array(),NULL
3.數(shù)組類型
超全局?jǐn)?shù)組
$GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_ENV
$_SERVER
1.記錄請求的結(jié)果碼
2.記錄請求過來的必要信息(請求ip 來源地址 請求時(shí)間,請求方式,來源地址解析等)
3.記錄服務(wù)器的配置信息(域名路徑,環(huán)境配置信息,執(zhí)行路徑,執(zhí)行文件路徑等)
php引用變量
定義:
php引用變量:不同變量名指向同一地址。 符號&
本質(zhì):
多個(gè)變量共用一個(gè)內(nèi)存空間。(memory_get_usage內(nèi)存空間使用情況查看函數(shù),xdebug_debug_zval查看變量的情況)
直接變量之間的賦值在賦值變量改變的時(shí)候?qū)_辟新的內(nèi)存空間。(一般的變量賦值給另外一個(gè)變量,內(nèi)存空間還是共用,但是在賦值變量改變的時(shí)候,PHP將會開辟新的內(nèi)存空間保存不同的值)
注意:
unset其中一個(gè)引用變量不影響其他變量。
其中一個(gè)引用變量重新賦值,其他的變量值發(fā)生改變,其中一個(gè)變量如果是引用變量指向另外地址空間,則跳出和之前變量的共用空間,獨(dú)立開辟新空間。
data 值為array(b,c,c);總結(jié):多個(gè)變量之間共用空間通過&地址符賦值,單個(gè)變量通過unset變量取消引用或者通過地址符&重新賦值新地址,跳出和其他變量的共用空間。共用空間內(nèi)的所有引用變量,其中一個(gè)變量改變其他變量值也會改變。
二.運(yùn)算符
運(yùn)算符優(yōu)先級
@為屏蔽表達(dá)式發(fā)生全部錯(cuò)誤信息運(yùn)算符
br/>總結(jié):多個(gè)變量之間共用空間通過&地址符賦值,單個(gè)變量通過unset變量取消引用或者通過地址符&重新賦值新地址,跳出和其他變量的共用空間。共用空間內(nèi)的所有引用變量,其中一個(gè)變量改變其他變量值也會改變。
二.運(yùn)算符
運(yùn)算符優(yōu)先級
@為屏蔽表達(dá)式發(fā)生全部錯(cuò)誤信息運(yùn)算符
PHP遍歷數(shù)組的三種方式
1.for
2.foreach
3.list while each
reset() reset — 將數(shù)組的內(nèi)部指針指向第一個(gè)單元
PHP分支語句
1.If else:
2.Switch case
Switch case 不同的值直接存放在索引數(shù)組里面 效率高于if分支。屬于精確查詢。代碼如下
switch (n)
{
case label1:
如果 n=label1,此處代碼將執(zhí)行;
break;
case label2:
如果 n=label2,此處代碼將執(zhí)行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此處代碼將執(zhí)行;
}
四.自定義函數(shù)以及內(nèi)部函數(shù)
不能直接把全局變量直接用到局部。需要設(shè)置全局可以如下:
靜態(tài)變量
解釋:常作為遞歸的判斷方式。
$a $b 互為引用
外部文件引入:
五.正則表達(dá)式
六.文件及目錄
文件前面追加字符串思路
七.php會話控制技術(shù)
具體可以參考文章(https://www.jianshu.com/p/7ec08ec8ba36)
(https://www.cnblogs.com/wswang/p/6062461.html)
八.面向?qū)ο?br/>文章(https://www.imooc.com/article/23924)
方法重寫
文章參考(https://www.cnblogs.com/giantpanda/archive/2012/11/07/2759458.html)
構(gòu)造函數(shù)
構(gòu)造函數(shù)可以接受參數(shù),能夠在創(chuàng)建對象時(shí)賦值給對象屬性
構(gòu)造函數(shù)可以調(diào)用類方法或其他函數(shù)
構(gòu)造函數(shù)可以調(diào)用其他類的構(gòu)造函數(shù)
析構(gòu)函數(shù)
析構(gòu)函數(shù)是在銷毀對象時(shí),自動調(diào)用,不能顯示的調(diào)用。
析構(gòu)函數(shù)不能帶參數(shù)。
在以下幾種情況下可能會調(diào)用析構(gòu)函數(shù)(但不一定):
PHP頁面加載完畢之后;
unset()類;
變量引用指向別的對象或值時(shí);
PHP的內(nèi)存回收機(jī)制和JAVA的很類似,對沒有任何引用的對象進(jìn)行銷毀回收,采用引用計(jì)數(shù)器的技術(shù)。
// 構(gòu)造函數(shù)
function __construct([argument1,argument2,...,argumentN]){
/ Class initialization code /
}
// 析構(gòu)函數(shù)
function __destruct(){
// ...
}
九.網(wǎng)絡(luò)協(xié)議
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。