前端冷知識(持續更新2020.12.13)

xluoxluo發表於2020-12-13

(持續更新喲,點波關注和收藏吧)

!!!如要學習具體需要善於運用搜尋引擎。!!!

php冷知識

1.print和echo都不是真正的函式,但都可以以帶有引數的函式形式進行呼叫。最關鍵的是 : echo要比print速度快。

printf()函式將一個格式化的字串出入到瀏覽器中,

sprintf()函式是返回一個格式化後的字串。

2.雙引號""中,變數名稱將被變數值替代!!!(瀏覽器echo寫入一句話的時候記得\註釋)

單引號''中,變數名稱或其他任何文字將不經修飾傳送給瀏覽器;

反向單引號``中,裡面的命令將試著當作伺服器端命令列命令來執行。

3.用gettype()函式獲取變數型別,用settype()函式改變變數型別,intval()轉為整數

型別有bool,int,double(浮點型),string,array,object,resource,NULL。

除此之外php還有很多特定的型別測試函式is_xxx(),如is_array(),is_scalar()等等。

4.isset()變數存在且值不為null返回true,其餘相反,

empty()變數存在且是一個非空非零的值時返回false,其餘相反。

5.elseif等於else if,在一系列的級聯elseif語句中,只有第一個為true條件下的語句將被執行。

6.如果沒有break,switch語句將執行case值為true的以下所有程式碼,例如

<?php switch ($a){
 case 0:
  echo "0";
 case 1:
  echo "1";
 case 2:
  echo "2";}?>

當$a的值為0時將執行所有語句,當$a的值為2時只執行最後一條語句。

7.==為弱等於,===為恆等於。

8.fopen()檔案模式作用(ps:開啟檔案,從檔案頭開始):

r(只讀)。(ps:無)

r+(讀寫)。(ps:無)

w(寫)。(ps:如果檔案已存在,將刪除檔案所有內容,如不存在將建立)

w+(讀寫)。(ps:無)

x(謹慎寫)。(ps:如果已有檔案,則不會開啟且返回false,且php產生一個警告)

x+(謹慎讀或寫)。(同上)

a(追加寫)。(ps:如已有檔案,從檔案末尾開始追加,如沒有,則建立。)

a(追加寫或讀)。(同上)

b(二進位制)。(用於與其他模式進行連線……)

t(文字)

(ps:以上字母后面是作用,並不是嚴格意義的模式名稱)

9.fputs()fwrite()的別名,可用file_put_contents()代替fwrite()

10.feof()唯一引數是檔案指標,如指向檔案末尾則返回true。

使用feof()作為檔案結束的測試條件。

11.fgets()讀取檔案內容,每次一行。

fgetss()同上,還可選擇過濾。

fgetcsv()當使用了分隔符(例如製表符或者逗號)的時候可以選擇分行,

可用explode()implode()(同join()作用)join()(效果和explode()相反),strtok()(一次從字串取一個子字串) 分隔。

12.讀取整個檔案:readfile()fpassthru()(ps:需要先用fopen()開啟檔案,然後再將文字指標作為引數傳遞給fpassthru(),這樣就可以把所指向檔案內容傳送到標準輸入,然後再將檔案關閉。成功返回true失敗返回false。),file()(把結果傳送到一個陣列),file_get_contents()(以字串的形式返回檔案內容)。

13.讀取一個字元fgetc(),一次讀取一個字元。讀取任意長度fread()

14.檢視檔案是否存在file_exists()。確定檔案大小filesize()。刪除一個檔案unlink()。可以對檔案指標進行操作,在檔案中定位:rewind(),fseek(),ftell()。檔案鎖定flock()(ps:無法在NFS或其他網路檔案系統中使用,無法在多執行緒伺服器API中使用)。

!!!如要學習具體需要善於運用搜尋引擎。!!!

15.array()和echo一樣實際上是一個語言結構而不是函式。(可用[]代替array()。)

sort()值從小到大排序), rsort()加r反序),usort()(加u自定義);

asort()(對陣列進行排序並保持索引關係,arsort()加r反序,uasort()(加u自定義)

ksort()(按照鍵名排序),krsort()加r反序),uksort()(加u自定義)。

使用以上函式進行排序,或建立使用者自定義排序函式或使用array_multisort()函式。

也可使用array_reverse()(與原來陣列相反排序),shuffle()隨機。

“=”可以將陣列複製到另一個陣列,新增陣列元素array_push(),刪除陣列元素array_pop()sizeof()count()的別名函式。

通過count(),sizeof(),array_count_values() 統計陣列元素。

16.訪問陣列可用[]或{}。foreach()迴圈轉為陣列和物件打造,索引陣列也可用list()(ps:可以將一個陣列分解為一系列的值)each()(ps:返回陣列的當前元素,並將下一個元素作為當前元素,陣列將記錄當前元素,如需多次使用陣列,用reset()函式將當前元素作為陣列的開始。)

extract()將陣列轉化為標量變數。

以相同方式使用或者修改陣列中每一個元素用array_walk()

17.鍵與值之間用=>符號。

18.<>與!=相同。+為聯合操作符,嘗試把後面陣列元素新增到前面陣列的末尾,若具有相同的鍵則不被新增。

19.瞭解算術操作符,邏輯操作符,位操作符,比較操作符,陣列操作符等。

20.陣列瀏覽:each(),next(),使指標指向下一個元素

prev()(和next()相反),end(),逆序遍歷。

current()(返回陣列中的當前單元),pos()(current()的別名)。

reset()(前文有)。

21.字串截斷(預設除去字元\n,\r,\t,\x0B,\0,空格):

trim()(還除去字串開始位置和結束位置的空格,並返回)

rtrim()的別名函式chop()(從結束處除去空格)

ltrim()(從開始處除去空格)

22.使用htmlspecialchars()函式過濾輸出至瀏覽器的字串(實體編碼)。

使用str_replace(),substr_replace()函式進行過濾或替換子字串。

使用nl2br()函式進行html格式化。使用substr()得到某個固定格式字串的一部分。

23.瞭解轉換規範支援的型別碼

24.字串的排序:strcmp(),strcasecmp()(不區分大小寫),strnatcmp()(按照自然排序)

25.strlen()判斷字元長度

26.在字串中查詢字串:strstr(),strchr(),strrchr(),stristr()

27.查詢子字串的位置:strpos()strrpos()

28.瞭解正規表示式,目前通常是perl風格,使用PCRE正規表示式,每個表示式必須包含在一對分隔符中,最常見的分隔符是 / ,如/xluo/,如果要在正規表示式中匹配/需要用反斜槓\轉義,如/xluo​\/\//PCRE正規表示式語法連結。瞭解模式修飾符,連結

29.

30.

 

協議冷知識

1.HTTP是Hyper Text Transfer Protocol,超文字傳輸協議;

FTP是File Transfer Protocol,檔案傳輸協議;

ftp的協議和http協議的主要區別在於ftp是需要使用者名稱和密碼才能訪問(匿名登陸除外),這樣做的目的在於有的檔案只供特殊人訪問,而http協議是任何人都可以訪問的。

http和htp協議簡介連結

相關文章