摘要:最后改為超文本預(yù)處理器,于年誕生。注釋單行注釋多行注釋你好單行注釋你也好單行注釋多行注釋大家都好變量由一個(gè)美元符號(hào)后面跟變量名來表示變量名區(qū)分大小寫??勺冏兞靠勺冏兞恳粋€(gè)變量的變量名可以動(dòng)態(tài)設(shè)置和使用。
PHP簡(jiǎn)介
最初用于維護(hù)個(gè)人主頁,簡(jiǎn)寫為:Personal HomePage。
最后改為:Hypertext Preprocessor(超文本預(yù)處理器),于1994年誕生。
優(yōu)勢(shì)
性能好,開發(fā)效率高
跨平臺(tái)(可以在不同的操作系統(tǒng)上運(yùn):windows/linux/unix)
上手快,編輯簡(jiǎn)單,實(shí)用性強(qiáng)
面向?qū)ο骩PHP 4開始,目前完全支持面向?qū)ο骫
開放的源代碼,所有的PHP源代碼都可以得到
成本低
注:PHP靈活,對(duì)程序員的約束太少,PHP默認(rèn)是解釋運(yùn)行機(jī)制,所以很多問題在運(yùn)行階段才會(huì)發(fā)現(xiàn)。
B/S結(jié)構(gòu)和C/S結(jié)構(gòu)
B/S:Browser-Server,瀏覽器-服務(wù)器,通過瀏覽器訪問,都可以看作B/S
C/S:Client-Server,客戶端-服務(wù)器,通過客戶端訪問,比如QQ,微信
PHP基礎(chǔ)語法開始標(biāo)記和結(jié)束標(biāo)記
告訴PHP開始和停止解析二者之間的代碼,這使得PHP可以被嵌入到各種不同的文檔中去。
如果是文件是純PHP代碼,最好在文件末尾刪除PHP結(jié)束標(biāo)記。
指令分隔符
//指令分隔符:php和其他編程語言一樣,在每個(gè)語句后用分號(hào)";"結(jié)束指令,一段PHP代碼中的結(jié)束標(biāo)記隱含一個(gè)分號(hào),所以在一個(gè)PHP代碼段中的最后一行可以不用分號(hào)結(jié)束。 echo "hello, world"." ";
注釋
//單行注釋:// # //多行注釋: /* */ echo "你好"." "; //單行注釋 echo "你也好"." "; #單行注釋 /* * 多行注釋 */ echo "大家都好"." ";變量
由一個(gè)美元符號(hào)$后面跟變量名來表示(變量名區(qū)分大小寫)。
和其他編程語言一樣,一個(gè)有效的變量名由字符或者下劃線開頭,后面跟上任意數(shù)量的字符、數(shù)字或者下劃線(也可中文)。
$this是個(gè)特殊的變量,不能被賦值。
//使用變量之前必須定義并進(jìn)行賦值 $a; //定義后不賦值直接使用會(huì)報(bào)錯(cuò):Undefined variable echo $a; //變量名區(qū)分大小寫 $var = "Bob"; $Var = "Tom"; echo $var."和".$Var." ";
傳值賦值和引用賦值
/* * 傳值賦值:當(dāng)一個(gè)變量的值賦予另外一個(gè)變量的時(shí)候,改變其中一個(gè)變量的值,將不會(huì)影響到另外一個(gè)變量。 * 引用賦值:新變量指向了原始變量,改動(dòng)新的變量將影響到原始變量,反之亦然。(只有由名字的變量才能引用賦值,比如表達(dá)式就不可以) */ $a = "Bob"; $b = $a; //傳值賦值 $b = 10; echo "a:".$a." b:".$b." "; $c = &$a; //引用賦值 $c = 20; echo "a:".$a." c:".$c." ";
全局變量
/* * php * 在C語言中全局變量在函數(shù)中會(huì)自動(dòng)生效,除非被局部變量覆蓋。 * php中全局變量在函數(shù)中使用時(shí)必須聲明為global * $GLOBALS是一個(gè)關(guān)聯(lián)數(shù)組,每一個(gè)變量為一個(gè)元素,鍵名對(duì)應(yīng)對(duì)變量,值對(duì)應(yīng)變量?jī)?nèi)容。 */ $a = 1; $b = 2; function Sum() { echo "a:".$a." b:".$b; //不會(huì)有任何輸出 //方法一:使用global標(biāo)識(shí)全局變量 global $a, $b; echo "a + b = ".($a + $b)." "; //方法二:使用$GLOBALS替代 echo "a + b = ".($GLOBALS["a"] + $GLOBALS["b"])." "; } Sum();
靜態(tài)變量
/* * 靜態(tài)變量?jī)H在局部函數(shù)域中存在,但當(dāng)程序執(zhí)行離開此作用域時(shí),其值并不丟失。 */ //每次調(diào)用,$a都會(huì)重新定義賦初值,$b在編譯期間初始化,以后不會(huì)重新定義。 function Test1() { $a = 0; static $b = 0; static $c = 1+2; echo "a=".$a." "."b=".$b." "; $a++; $b++; } for ($i = 0; $i < 10; $i ++) { Test1(); }
可變變量
/* * 可變變量:一個(gè)變量的變量名可以動(dòng)態(tài)設(shè)置和使用。 */ $a = "hello"; $$a = "world"; //一個(gè)可變變量獲取了一個(gè)普通變量的值作為這個(gè)可變變量的變量名 echo "$a ${$a}"." "; echo "$a $hello"." ";常量
一旦被定義,就不能再改變或者取消定義
常量只能包含boolean,integer,float,string
常量和變量有如下不同:
常量前面沒有美元符號(hào)$;
常量只能用define()函數(shù)定義,而不能通過賦值語句;
常量可以不用理會(huì)變量的作用域而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標(biāo)量類型;
常量的定義
php5.3.0后,除了使用函數(shù)define()之外,還可以使用關(guān)鍵字const來定義常量。
const和define()的區(qū)別:
版本差異,php5.3.0后才能使用const關(guān)鍵字,define()函數(shù)對(duì)所有版本兼容
定義位置差異:
`define()`函數(shù)定義的常量是在執(zhí)行`define()`函數(shù)時(shí)定義的,可以在任何位置定義,無論是函數(shù)內(nèi)或函數(shù)外 `const`關(guān)鍵字定義的常量是編譯時(shí)定義的,所以定義的時(shí)候必須處于最頂端的作用區(qū)域,不能在函數(shù)內(nèi)部
對(duì)值的表達(dá)式支持差異
`const`關(guān)鍵字定義的常量值的表達(dá)式中不支持運(yùn)算符,`define()`函數(shù)可以支持
注意:使用const關(guān)鍵字定義常量必須處于最頂端的作用區(qū)域。因?yàn)橛么朔椒ㄊ窃诰幾g時(shí)定義的,這就意味著不能在函數(shù)內(nèi),循環(huán)體內(nèi)用const來定義常量。
define("A", "Hello, world"); echo "A = ".A." "; const B = "你好"; echo "B = ".B." ";
魔術(shù)常量
__LINE__:文件中的當(dāng)前行號(hào)
__FILE__:文件的完整路徑和文件名
__DIR__:文件所在的目錄
__FUNCTION__:函數(shù)名稱
__CLASS__:類的名稱
__TRAIT__:Trait的名字,包括其被聲明的作用區(qū)域
__METHOD__:類的方法名
__NAMESPACE__:當(dāng)前命名空間的名稱
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28741.html
摘要:最近在學(xué)習(xí)的相關(guān)知識(shí),常常需要對(duì)等語句的返回結(jié)果進(jìn)行判斷。方法查找符合條件的記錄關(guān)鍵語句若查找到返回索引數(shù)組若未查到,為。若采用語句來抓取數(shù)據(jù),若找到符合條件的記錄,返回的結(jié)果為,即。 本人php小白一枚。最近在學(xué)習(xí)php的相關(guān)知識(shí),常常需要對(duì)INSERT、SELECT等sql語句的返回結(jié)果進(jìn)行判斷。這給我造成了很多的困擾,在進(jìn)行了各種嘗試之后,將我的總結(jié)整理在此。1.INSERT語句...
摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...
摘要:和,這兩個(gè)配置文檔中說的是設(shè)置為。主要感慨就是,文檔一定要找到官方文檔,然后提高英語閱讀水平,隨后再加上多多嘗試即可。 本人微信公眾號(hào):前端修煉之路,歡迎關(guān)注。 showImg(https://segmentfault.com/img/remote/1460000019475554?w=443&h=253); 這兩天有點(diǎn)時(shí)間,花時(shí)間學(xué)習(xí)了一下PHP基礎(chǔ)語法和語句。因?yàn)閭€(gè)人比較喜歡Vis...
摘要:時(shí)間戳不僅被使用在系統(tǒng),類系統(tǒng)中,也在許多其他操作系統(tǒng)中被廣泛應(yīng)用。 日期時(shí)間函數(shù) 格式化日期 /* * date函數(shù) * string date(string format[, int timestamp]) * 描述:格式化一個(gè)本地時(shí)間/日期 * * format格式: * Y:4位數(shù)字完整表示的年份 * y:2位數(shù)字表示的年份 * F:月份,完整的文本格式 * ...
摘要:為了一探究竟,于是開啟了這次應(yīng)用性能調(diào)優(yōu)之旅。使用即時(shí)編譯器和都能輕輕松松的讓你的應(yīng)用程序在不用做任何修改的情況下,直接提高或者更高的性能。 這是一份事后的總結(jié)。在經(jīng)歷了調(diào)優(yōu)過程踩的很多坑之后,我們最終完善并實(shí)施了初步的性能測(cè)試方案,通過真實(shí)的測(cè)試數(shù)據(jù)歸納出了 Laravel 開發(fā)過程中的一些實(shí)踐技巧。 0x00 源起 最近有同事反饋 Laravel 寫的應(yīng)用程序響應(yīng)有點(diǎn)慢、20幾個(gè)并...
閱讀 858·2021-11-25 09:43
閱讀 3690·2021-11-19 09:40
閱讀 894·2021-09-29 09:34
閱讀 1808·2021-09-26 10:21
閱讀 885·2021-09-22 15:24
閱讀 4205·2021-09-22 15:08
閱讀 3281·2021-09-07 09:58
閱讀 2699·2019-08-30 15:55