php基礎(chǔ)知識(shí)

    時(shí)間:2024-10-08 09:50:04 PHP 我要投稿
    • 相關(guān)推薦

    php基礎(chǔ)知識(shí)大全

      PHP是一種非常流行的開源服務(wù)器端腳本語(yǔ)言,下面小編整理了php基礎(chǔ)知識(shí)大全,希望對(duì)大家有幫助!

    php基礎(chǔ)知識(shí)大全

      PHP 標(biāo)記

      當(dāng)解析一個(gè)文件時(shí),PHP 會(huì)尋找起始和結(jié)束標(biāo)記,也就是 ,這告訴 PHP 開始和停止解析二者之間的代碼。此種解析方式使得 PHP 可以被嵌入到各種不同的文檔中去,而任何起始和結(jié)束標(biāo)記之外的部分都會(huì)被 PHP 解析器忽略

      PHP 也支持其他標(biāo)記,但是!由于各種原因和理由,請(qǐng)只使用“”

      echo 'hello world';

      ?>

      PHP 支持 8 種原始數(shù)據(jù)類型

      四種標(biāo)量類型:布爾型、整型、浮點(diǎn)型、字符串

      兩種復(fù)合類型:數(shù)組、對(duì)象

      兩種特殊類型:資源、null

      // 布爾型:true 和 false

      $var = true;

      // 整型

      $var = 1;

      // 浮點(diǎn)型

      $var = 3.14;

      // 字符串

      $var = 'girl friend';

      // 數(shù)組

      $var = [true, 1, 3.14, 'girl friend'];

      //對(duì)象

      class Test{

      public $value = '';

      }

      $var = new Test();// 類Test的對(duì)象

      // 資源類型指文件、數(shù)據(jù)庫(kù)等句柄,因此這里不舉例

      // null

      $var = null;

      變量

      PHP 中的變量用一個(gè)美元符號(hào)后面跟變量名來(lái)表示。變量名是區(qū)分大小寫的

      一個(gè)有效的變量名由字母或者下劃線開頭,后面跟上任意數(shù)量的字母,數(shù)字,或者下劃線

      如:$var 、 $_var 、 $_1 、 $var1 ……

      不合法變量的例子: $1 、1 、 var ……

      PHP 的變量是動(dòng)態(tài)設(shè)置和使用的,這表示,你不需要像 java 等語(yǔ)言那樣,需要使用一個(gè)前綴(或其他)的方式去聲明一個(gè)變量的類型,而且,PHP 變量的類型是根據(jù)上下文語(yǔ)境去判定,因此上面關(guān)于類型的例子是可以成功執(zhí)行的,$var 最終的值會(huì)變成 null

      常量

      常量是一個(gè)簡(jiǎn)單值的標(biāo)識(shí)符(名字),常量默認(rèn)為大小寫敏感。傳統(tǒng)上常量標(biāo)識(shí)符總是大寫的

      下面這個(gè)出現(xiàn)在 C 語(yǔ)言的笑話,在 PHP 里是行不通的,所以,不要和蠢萌的新手開這種玩笑了,同時(shí)也建議,不要隨便定義系統(tǒng)自帶的值,因?yàn)槌A恳坏┍欢x,就無(wú)法重新定義!

      define("TRUE", false);

      運(yùn)算符

      這一塊和你認(rèn)識(shí)的其他語(yǔ)言的運(yùn)算符類似,比如 + 就是加法等等,這里只說(shuō)明一些需要注意的,具體的在具體篇幅里會(huì)詳細(xì)介紹

      算術(shù)運(yùn)算符:+,-,*,/,%(求余)

      = 是賦值號(hào),== 是等于號(hào),=== 是全等于(會(huì)比較類型),等號(hào)還有類似的 != 和 !==

      @ 是錯(cuò)誤控制運(yùn)算符,可以抑制之后的表達(dá)式產(chǎn)生的錯(cuò)誤,不要依賴它,因?yàn)椋男阅芤约白寗e人無(wú)法找出 bug

      位運(yùn)算符:& 按位與,| 按位或,^ 按位異或,~ 按位取反,<< 左移,>> 右移

      邏輯運(yùn)算符:and,or,not 或者 &&,||,!,請(qǐng)一定使用后者,前者可能導(dǎo)致一些問(wèn)題

      遞增(減)運(yùn)算符:++,–

      字符串拼接: ‘hello’ . ‘world’

      數(shù)組運(yùn)算符:+聯(lián)合,==等于,===全等于(會(huì)比較鍵值對(duì)順序),還有類似的不等于!= 和 !==,用得不多,沒(méi)有人用這種方式去比較數(shù)組,畢竟 PHP 函數(shù)很強(qiáng)大

      類型運(yùn)算符:instanceof

      流程控制

      if 語(yǔ)句

      if (true) {

      // 這個(gè)分支并不是一個(gè)笑話,你可以在注釋某一段代碼時(shí)使用,而且這種寫法適用于所有的程序

      }elseif ( $var == 1) {

      // == 是等于,在類型不一致時(shí) PHP 會(huì)嘗試強(qiáng)制轉(zhuǎn)換

      // 尤其注意數(shù)字的強(qiáng)制轉(zhuǎn)換,PHP 會(huì)嘗試把和數(shù)字比較的東西轉(zhuǎn)換成數(shù)字去比較

      // 因此 '1a' == 1 是成立的,a會(huì)被丟掉

      }else if ( 1 === $var ) {

      // 基于 == 的不靠譜比較,請(qǐng)明確了解變量類型時(shí),使用 === 代替 ==

      // 并且讓常量放在前面是一個(gè)好習(xí)慣,不會(huì)因?yàn)樯賹懥说忍?hào)變成賦值號(hào)而出現(xiàn)意外

      }else {

      // 以上是關(guān)于 if 的需要注意的細(xì)節(jié)以及 if 流程控制的用法,我是不是太懶了

      }

      for 語(yǔ)句

      for (expr1; expr2; expr3)

      for ($i = 1; $i <=10; $i++){...code...}

      請(qǐng)不要在 for 循環(huán)的上面三個(gè)表達(dá)式當(dāng)中寫函數(shù),因?yàn)槊看窝h(huán)都會(huì)執(zhí)行一遍

      如果要循環(huán)數(shù)組,最好使用 foreach

      foreach( $array as $key => $value) {}

      此外還有 while 和 do … while 循環(huán),這個(gè)和其他語(yǔ)言是類似的,值得一提的是,在 PHP 的編程之中,使用 foreach 的頻率最高,因?yàn)?PHP 的最終運(yùn)算都是數(shù)組以及字符串(所以你看 PHP 的數(shù)組和字符串函數(shù)是不是特別多和強(qiáng)大)

      可以使用 break 和 continue 跳過(guò)循環(huán)

      switch 語(yǔ)句

      switch($var) {

      case 1:

      ...code...

      break;

      case 2:

      ...code...

      default:

      ...code...

      }

      include 語(yǔ)句

      包含并運(yùn)行指定文件

      require 語(yǔ)句和 include 基本等價(jià),暫時(shí)不用區(qū)分

      include_once 以及 require_once 語(yǔ)句不會(huì)重復(fù)包含文件,這是和 include 以及 require 的區(qū)別

      include 'test.php';

      其他

      goto 語(yǔ)句、declare 語(yǔ)句

      函數(shù)

      function test($var1, &$var3, $var2 = 1) {

      ...code...

      return $result;

      }

      這是一個(gè)函數(shù)的定義,其中 $var1 是必填參數(shù),$var2 帶有一個(gè)默認(rèn)值,是可選參數(shù),必填參數(shù)不能放在可選參數(shù)之后

      return 會(huì)返回一個(gè)函數(shù)的值

      參數(shù)可以使用引用參數(shù),如 $var3,這樣你就可以帶多個(gè)參數(shù)出來(lái)了,這種函數(shù)在 PHP 自帶的函數(shù)里很常見

      關(guān)于函數(shù)的內(nèi)容,和其他語(yǔ)言類似,也有局部變量、全局變量、閉包等,這里暫時(shí)先不討論

      類與對(duì)象

      每個(gè)類的定義都以關(guān)鍵字 class 開頭,后面跟著類名,后面跟著一對(duì)花括號(hào),里面包含有類的屬性與方法的定義,類對(duì)大小寫不敏感

      一個(gè)類可以包含有屬于自己的常量,變量(稱為“屬性”)以及函數(shù)(稱為“方法”)

      class A{

      public $var1 = 1;

      protected $var2;

      private $var3;

      public function test(){}

      }

      當(dāng)一個(gè)方法在類定義內(nèi)部被調(diào)用時(shí),有一個(gè)可用的偽變量 $this。$this 是一個(gè)到主叫對(duì)象的引用

      class A{

      ...code...

      public function test(){

      return $this->var2; // protected 屬性 $var2 沒(méi)有初始化,因此返回一個(gè)null

      }

      }

      要?jiǎng)?chuàng)建一個(gè)類的實(shí)例,必須使用 new 關(guān)鍵字

      ...code...

      $a = new A();

      一個(gè)類可以在聲明中用 extends 關(guān)鍵字繼承另一個(gè)類的方法和屬性。PHP不支持多重繼承,一個(gè)類只能繼承一個(gè)基類

      class B extends A {

      ...code...

      }

      命名空間

      PHP 命名空間提供了一種將相關(guān)的類、函數(shù)和常量組合到一起的途徑,用來(lái)解決名字沖突或者不好起名字的問(wèn)題

      命名空間通過(guò)關(guān)鍵字namespace 來(lái)聲明。如果一個(gè)文件中包含命名空間,它必須在其它所有代碼之前聲明命名空間

      namespace MyTest;

      ...code...

      由于在我們?cè)谟懻?PHP 的時(shí)候,可能大多數(shù)情況都是講網(wǎng)站,而如今 PHP 出現(xiàn)了大量的 web 框架,這些框架大多數(shù)也使用了命名空間(PHP 5.3 以下沒(méi)有命名空間),而他們基本上都會(huì)一個(gè) PHP 文件對(duì)應(yīng)一個(gè)類,因此,我們給命名空間命名的時(shí)候基本遵循和類的名字一致,都是大駝峰寫法

      異常處理

      function inverse($num){

      if ($num == 0) {

      throw new Exception('錯(cuò)誤:分母為0!');

      }

      return 1 / $num;

      }

      try {

      echo inverse(2); // 返回 0.5

      echo inverse(0); // 拋出異常

      } catch (Exception $e) {

      echo $e->getMessage();

      }

      我們想要寫一個(gè)計(jì)算倒數(shù)的函數(shù),在函數(shù)里,我們必須自己判斷分母是不是等于 0, 然后把異常拋出。


    【php基礎(chǔ)知識(shí)】相關(guān)文章:

    Linux認(rèn)證基礎(chǔ)知識(shí):php相對(duì)路徑和絕對(duì)路徑05-03

    關(guān)于php面試寶典及PHP面試技巧08-16

    PHP的壓縮函數(shù)06-21

    php高級(jí)教程01-23

    如何學(xué)好PHP知識(shí)09-20

     PHP的基礎(chǔ)編程與應(yīng)用10-16

    淺析php函數(shù)的實(shí)例06-08

    配置 PHP 調(diào)試環(huán)境07-20

    PHP的錯(cuò)誤機(jī)制總結(jié)09-09

    《PHP編程最快明白》第八講:php啟發(fā)和小結(jié)07-13

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      最新午夜视频精品视在线播放 | 色综合久久中文字幕综合网 | 中文精品亚洲二区 | 亚洲乱码伦AV | 亚洲激情在线观看 | 中文字幕日韩第一页 |