PHP學習總結(一)

一.基礎知識
1.單雙引號皆可聲明字符串;雙引號中可以直接解析變量,又可以直接使用轉義 


 字符,單引號則不可以,最好使用單引號(效率高);
2.數據類型間的相互轉換:
  setType(變量型,類


型);//int,integer,float,double,real,bool,Boolean,string,array,object;
  $變量=intval(變量或值);
  相關函數:
  isset();empty();unset();//註銷變量;setType();getType();
  is_bool();is_int();
  define("常量名",值);
3.運算符號:
  算術運算符:+ - * / % ++ --
  字符串運算符:.
  賦值運算符:= += -= *= /= %= ++ --
  比較運算符號:> < >= <= ==(比較不轉換類型) ===(比較轉換類型)  !


=或<> !==
  邏輯運算符 &&或and ||或or !或not
  位運算符: & | ^ << >>  >>>
  其他運算符:?:(三元運算符) '' @ =>(鍵名=>鍵值) -> :: & $
4.PHP的變量範圍:
  gloabal//要通過這個關鍵字將全局變量包含到函數中才能使用
  static//靜態變量只能聲明在函數中,不能在全局聲明;保存在靜態代碼段中


,只在第一次調用的時候聲明。
  變量函數:$var=hell;$var();//將尋找與變量名值相同的函數 hello()
5.require:用於靜態包含;require_once
  include:用於動態包含;include_once
6.數組的遍歷:
  for語句循環遍歷//不是首選;
  foreach循環遍歷,foreach(數組變量 as 下標變量=>值變量){}
  while() list() each() 組合循環遍歷
  each():需要一個數組參數,返回一個數組(0,1,key,value,)
  list():list()=array(),數組中的元素個數要與list()中的參數個數相同
  數組內部的指針控制函數
  next(),prev(),reset(),end(),current(),key()//參數均爲數組,移動數組


指針
7.超全局數組:
  $_REQUEST//經由GET,POST,COOKIE機制提交到腳本的變量,因此該數組不值得


信任,建議不去使用  
8.數組相關函數:
  array_values();
  array_keys();
  in_array();
  array_key_exists();
  array_flip();//交換數組中的鍵和值
  array_count_values()//統計數組中所有的值出現的次數
  array_filter()//用回調函數來過濾數組中的單元
  arry_walk(),array_map()
  排序函數:sort(),rsort(),usort()......
  數據結構相關:array_push(),array_pop()//堆棧
                array_unshift(),array_shitf()//隊列


二.面向對象
1.對象和數組都是複合類型
2.對象的三大特性:封裝,繼承,多態
  封裝:使用private,protected,public實現;
  繼承:父類--基類,子類--派生類;
        extend//子類繼承父類的protected,public
        重載:子類可重載父類方法,但是權限不能比父類低;
        子類中編寫構造方法,父類中也有構造方法一定要去調用一次唄覆蓋的


那個構造方法。
        對象->成員 類::成員
        父類名::方法名();
        parent::方法名();
   多態:讓具有繼承關係的不同類對象,可以對相同名稱的成員函數調用產生


不同的反應效果。
3.構造方法:對象完成創建後第一個調用的方法__construct()
  析構方法:對象被釋放之前最後一個自動調用的方法__destruct()
  魔術方法:在類中寫了某個魔術方法,這個方法對象的功能就會添加上。
4.關鍵字:
  final:只能修飾類和方法,不能修飾成員屬性(修飾的類不能被繼承和覆蓋)
  static:可修飾成員屬性和方法,不能修飾類(可被同一個類的所有對象共享



  靜態成員::類名::成員,在內部訪問其他成員 self::成員
  self與$this的功能極其相似,但二者又不相同。$this不能引用靜態成員和常


量。self更像類本身,而$this更像是實例本身。
  const:只能修飾成員屬性,類中聲明常量。訪問方式和static類似。
5.常用魔術方法:
  __call()//在調用對象中不存在的方法的時就會出現系統報錯,然後退出程序
  __toString()//這屆輸出應用對象時自動調用
  __clone()//克隆對象使用clone去處理,$this代表副本,$that代表原本
  __autoload()//唯一一個不再類中添加的方法,在頁面中使用類自動將類名傳


遞給這個參數。
  serialize:參數是一個對象,返回來的就是串行後的二進制串
  unserialize():參數就是對象的二進制串,返回來的就是新生成的對象
  __sleep()
7.抽象類,接口,多態:
  抽象類是一種特殊的類,接口是一種特殊的抽象類,而多態就要使用到抽象類


或接口。
  抽象方法:沒有方法體的就是抽象方法;//abstract function test()
  抽象類:只要有一個抽象方法就是抽象類,要使用修飾詞abtract.
          其他不變,抽象類不能被實例化。
          子類繼承抽象類時要重載抽象類中的抽象方法。
  接口:接口中的所有方法都必須是抽象方法;
        只能聲明常量,不能聲明變量,接口的成員訪問權限都必學是public;


抽象類中的最低權限是protected。
        聲明方式interface 類名{}(抽象方法不適用abstract);
        使用接口用關鍵字implements;
        類--接口,抽象類--接口//implements
        接口--接口:extend
        可繼承多個接口,但是隻能繼承一個父類。


三.字符串的處理
php中的所有字符串處理函數,都不是在原字符串上修改的,而是返回一個新的


格式化後的字符串。
1.substr();//字符串截取
2.常用的字符串輸出函數:
  echo()
  print()
  die()--exit()
  printf()
  sprintf()
3.常用的字符串格式化函數:
  ltrim()
  rtrim()
  trim()//去掉空格
  str_pad()//字符串兩邊填充內容
  strtolower()//轉換成小寫
  strtoupper()//轉換成大寫
  ucfirst()//首字母轉換成大寫
  ucwords()//每個單詞首字母大寫
  n12br()//在字符串所有新行之前加入換行標記
  htmllentities()
  htmlspecialchars()//上面一個和這一個防止輸出HTML標籤輸出
  stripslashes()//反引用一個斜線
  strip_tags()//從字符串中去除HTML和PHP標記
  number_format()//以千位分隔符方式格式化一個數字
  strrev()//反轉字符串
  md5();//加密
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章