亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

php基礎(chǔ)知識學(xué)習(xí)筆記

時(shí)間:2024-08-15 10:52:45 php語言 我要投稿

php基礎(chǔ)知識學(xué)習(xí)筆記

  PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。以下是小編為大家搜索整理的php基礎(chǔ)知識學(xué)習(xí)筆記, 希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

php基礎(chǔ)知識學(xué)習(xí)筆記

  例子 名稱 結(jié)果$a + $b 聯(lián)合 $a 和 $b 的聯(lián)合$a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對則為 TRUE$a === $b 全等 如果 $a 和 $b 具有相同的鍵/值對并且順序和類型都相同則為 TRUE$a != $b 不等 如果 $a 不等于 $b 則為 TRUE$a <> $b 不等 如果 $a 不等于 $b 則為 TRUE$a !== $b 不全等 如果 $a 不全等于 $b 則為 TRUE

  + 運(yùn)算符把右邊的數(shù)組元素附加到左邊的數(shù)組后面,兩個(gè)數(shù)組中都有的鍵名,則只用左邊數(shù)組中的,右邊的被忽略。

  對象

  要初始化一個(gè)對象,用 new 語句將對象實(shí)例到一個(gè)變量中。

  常用函數(shù)

  strlen() 函數(shù)用于計(jì)算字符串的長度。

  strpos() 函數(shù)用于在字符串內(nèi)檢索一段字符串或一個(gè)字符。

  常量

  可以用 define() 函數(shù)來定義常量。一個(gè)常量一旦被定義,就不能再改變或者取消定義。

  常用的魔術(shù)常量:

  定義常量例子:

  php字符串運(yùn)算符

  在 PHP 中,只有一個(gè)字符串運(yùn)算符。

  并置運(yùn)算符 (.) 用于把兩個(gè)字符串值連接起來。如:echo "a= ".$a."

  ";

  左邊將字符串文字"a="與變量$a的值連接,第二處是與換行符"

  "連接

  php函數(shù)

  函數(shù)只有在被調(diào)用時(shí)才會(huì)被執(zhí)行,這點(diǎn)和js是一樣的,同樣,函數(shù)定義也是以function關(guān)鍵字開頭的。

  當(dāng)沒有return語句時(shí),以上將會(huì)變成"-2+10=";

  流程控制

  在這里,只講下foreach語句。

  foreach語句遍歷輸出數(shù)組:

  語法:

  foreach (array_expression as $value){ statement};

  foreach (array_expression as $key => $value){ statement};

  參數(shù)array_expression是指定要遍歷的數(shù)組,$value是數(shù)組的值

  以上代碼將輸出:

  Name:Marry

  Name:Lorry

  Name:mike

  兩個(gè)重要的魔術(shù)方法

  1. __set( )方法:這個(gè)方法用來為私有成員屬性設(shè)置值的,有兩個(gè)參數(shù),第一個(gè)參數(shù)為你 要為設(shè)置值的屬性名,第二個(gè)參數(shù)是要給屬性設(shè)置的值,沒有返回值。

  2. __get()方法:這個(gè)方法用來獲取私有成員屬性值的,有一個(gè)參數(shù),參數(shù)傳入你要獲取的成員屬性的名稱,返回獲取的屬性值,這個(gè)方法不用我們手工的去調(diào)用

  php中方法不區(qū)分大小寫

  require(dirname(__FILE__).'/global.php'); //引入全局文件

  require(dirname(__FILE__).'/config.ini.php'); //引入基本配置文件

  對象運(yùn)算符和雙冒號運(yùn)算符

  在類的成員方法里面,可以用 ->(對象運(yùn)算符):$this->property(其中 property 是該屬性名)這種方式來訪問非靜態(tài)屬性。

  靜態(tài)屬性則是用 ::(雙冒號):self::$property 來訪問。

  =>和->

  =>數(shù)組成員訪問符號,->對象成員訪問符號;

  $this->$name=$value:將當(dāng)前類的name變量的值設(shè)為$value;

  $this代表了類本身,->是訪問其類成員的操作符

  雙冒號運(yùn)算符(::)類名::靜態(tài)屬性/方法

  “::”用來調(diào)用類中靜態(tài)的屬性和方法

  include():包含外部文件,語法格式為 include(string filename);

  require():會(huì)輸出錯(cuò)誤信息,終止腳本

  include_once():多次調(diào)用相同文件時(shí),程序只會(huì)調(diào)用一次

  require_once():先檢查文件是否在其他地方被調(diào)用過

  array_pop():獲取并返回?cái)?shù)組中的最后一個(gè)元素

  count():統(tǒng)計(jì)數(shù)組中的元素個(gè)數(shù)

  array_search():獲取數(shù)組中元素的鍵名

  $array_keys():獲取數(shù)組中重復(fù)元素的所有鍵名

  單引號和雙引號

  PHP把單引號中的數(shù)據(jù)視為普通字符串,不再處理。而雙引號還要對其中的字符串進(jìn)行處理

  get和post

  $_GET[ ]和$_POST[ ]全局?jǐn)?shù)組:分別用來接收GET和POST方法傳遞到當(dāng)前頁面的數(shù)據(jù)。“[ ]”里面是name.

  php參數(shù)傳遞常用的方法有3種:$_POST[ ]、$_GET[ ]、$_SESSION[ ],分別用于獲取表單、URL與Session變量的值。

  表單提交中g(shù)et和post方式的區(qū)別歸納如下幾點(diǎn):

  GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)。GET 是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對應(yīng),在URL中可以看到。POST是通過HTTP POST機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個(gè)過程。對于GET方式,服務(wù)器端用Request.QueryString獲取變量的值,對于POST方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。GET傳送的數(shù)據(jù)量較小,不能大于2KB(這主要是因?yàn)槭躑RL長度限制)。POST傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,限制取決于服務(wù)器的處理能力。GET 安全性較低,POST安全性較高。因?yàn)镚ET在傳輸過程,數(shù)據(jù)被放在請求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請求URL記 錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一 同顯示在用戶面前。POST的所有操作對用戶來說都是不可見的。

  在FORM提交的時(shí)候,如果不指定Method,則默認(rèn)為 GET請求(.net默認(rèn)是POST),F(xiàn)orm中提交的數(shù)據(jù)將會(huì)附加在url之后,以?分開與url分開。字母數(shù)字字符原樣發(fā)送,但空格轉(zhuǎn)換為“+” 號,其它符號轉(zhuǎn)換為%XX,其中XX為該符號以16進(jìn)制表示的ASCII(或ISO Latin-1)值。GET請求請?zhí)峤坏臄?shù)據(jù)放置在HTTP請求協(xié)議頭中,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中;GET方式提交的數(shù)據(jù)最多只能有2048字節(jié),而POST則沒有此限制。POST傳遞的參數(shù)在doc里,也就http協(xié)議所傳遞的文本,接受時(shí)再解析參數(shù)部分。獲得參數(shù)。一般用POST比較好。POST提交數(shù)據(jù)是隱式的,GET是通過在url里面?zhèn)鬟f的,用來傳遞一些不需要保密的數(shù)據(jù),GET是通過在URL里傳遞參數(shù),POST不是。

  1.GET請求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連

  2.GET方式提交的數(shù)據(jù)最多只能是1024字節(jié),理論上POST沒有限制,可傳較大量的數(shù)據(jù),IIS4中最大為80KB,IIS5中為100KB

  HTTP狀態(tài)碼

  cookie和session區(qū)別

  cookie的內(nèi)容主要包括:名字,值,過期時(shí)間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍。若不設(shè)置過期時(shí)間,則表示這個(gè)cookie的生命期為瀏覽器會(huì)話期間,關(guān)閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會(huì)話期的cookie被稱為會(huì)話cookie。會(huì)話cookie一般不存儲(chǔ)在硬盤上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。若設(shè)置了過期時(shí)間,瀏覽器就會(huì)把cookie保存到硬盤上,關(guān)閉后再次打開瀏覽器,這些cookie仍然有效直到超過設(shè)定的過期時(shí)間。

  當(dāng)程序需要為某個(gè)客戶端的請求創(chuàng)建一個(gè)session時(shí),服務(wù)器首先檢查這個(gè)客戶端的請求里是否已包含了一個(gè)session標(biāo)識(稱為session id),如果已包含則說明以前已經(jīng)為此客戶端創(chuàng)建過session,服務(wù)器就按照session id把這個(gè)session檢索出來使用(檢索不到,會(huì)新建一個(gè)),如果客戶端請求不包含session id,則為此客戶端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相關(guān)聯(lián)的session id,session id的值應(yīng)該是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)session id將被在本次響應(yīng)中返回給客戶端保存。保存這個(gè)session id的方式可以采用cookie,這樣在交互過程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識發(fā)送給服務(wù)器。

  1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。

  2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙考慮到安全應(yīng)當(dāng)使用session。

  3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。

  4、單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。

  5、所以個(gè)人建議:

  將登陸信息等重要信息存放為SESSION

  其他信息如果需要保留,可以放在COOKIE中

  php代碼規(guī)范

  1.變量賦值必須保持相等間距和排列

  2.每行結(jié)尾不允許有多余的空格

  3.確保文件的命名和調(diào)用大小寫一致,是由于類Unix系統(tǒng)上面,對大小寫是敏感的

  4.方法名只允許由字母組成,下劃線是不允許的,首字母要小寫,其后每個(gè)單詞首字母要大寫

  5.屬性的命名只允許由字母組成,下劃線是不允許的⋯⋯

  6.對于對象成員的訪問,我們必須始終使用“get"和"set"方法

  7.當(dāng)類成員方法被聲明為private時(shí),必須以雙下劃線"__"開頭;被聲明為protected時(shí),必須以單下劃線"_"開頭;聲明為public的成員屬性則在任何時(shí)候都不允許含有下劃線。

  8.如果我們需要把一些經(jīng)常使用的方法定義為全局函數(shù),那么應(yīng)該把它們以靜態(tài)(static)的形式定義在類中

  9.函數(shù)的命名使用小寫和下劃線,應(yīng)該能夠描述清楚該函數(shù)的功能。

  10.Boolean值和null值都采用小寫。

  11.當(dāng)一個(gè)字符串是純文本組成的時(shí)候(即不含有變量),則必須總是以單引號(')作為定界符

  12.使用array類型聲明關(guān)聯(lián)數(shù)組的時(shí)候,應(yīng)將它分成多行,保證每行的鍵與值的對齊

  13.類中所有代碼都必須用四個(gè)空格進(jìn)行縮進(jìn)

  14.不允許用var來聲明變量,類成員變量必須以private,protected和public來聲明。通常用get和set方法來訪問類成員。

  15.方法必須總是用private,protected或者public來聲明其作用域

  16.在函數(shù)或方法名與參數(shù)括號之間不允許出現(xiàn)多余的空格

【php基礎(chǔ)知識學(xué)習(xí)筆記】相關(guān)文章:

php學(xué)習(xí)筆記:基礎(chǔ)知識08-31

PHP MVC框架路由學(xué)習(xí)筆記07-02

php學(xué)習(xí)筆記:類的聲明與對象實(shí)例化05-14

PHP新手必須知道的基礎(chǔ)知識07-20

PHP是做什么的 如何學(xué)習(xí)PHP06-18

如何學(xué)習(xí)php語言09-13

php的curl學(xué)習(xí)總結(jié)07-08

怎樣學(xué)習(xí)PHP內(nèi)容09-17

PHP易混淆知識整理筆記08-08

學(xué)習(xí)php編程語言 php常用英語單詞10-03