PHP入門(二)

1、在學習以前先了解一下PHPjavascript

  PHP 是服務器端腳本語言。(全稱:PHP:Hypertext Preprocessor,即"PHP:超文本預處理器")是一種通用開源腳本語言。php

  PHP 文件可包含文本、HTML、JavaScript代碼和 PHP 代碼,PHP 代碼在服務器上執行,結果以純 HTML 形式返回給瀏覽器,PHP 文件的默認文件擴展名是 ".php"html

  PHP 能夠生成動態頁面內容, 能夠建立、打開、讀取、寫入、關閉服務器上的文件,能夠收集表單數據,能夠發送和接收 cookies, 能夠添加、刪除、修改您的數據庫中的數據,能夠限制用戶訪問您的網站上的一些頁面,能夠加密數據等java

2、接下來開始正式學習PHP數據庫

  PHP 腳本能夠放在文檔中的任何位置。PHP 腳本以 <?php 開始,以 ?> 結束, PHP中的每一個代碼行都必須以分號結束。分號是一種分隔符,用於把指令集區分開來。經過 PHP,有兩種在瀏覽器輸出文本的基礎指令:echo 和 print。編程

  如:<div><?php  echo  "歡迎來到PHP世界!";  ?></div>數組

PHP 變量瀏覽器

 

  • 變量以 $ 符號開始,後面跟着變量的名稱  如:$liang = 5; 或 $hermit = "歡迎來到PHP"; 若是是文本須要使用 " " 包起來。
  • 變量名必須以字母或者下劃線字符開始
  • 變量名只能包含字母數字字符以及下劃線(A-z、0-9 和 _ )
  • 變量名不能包含空格
  • 變量名是區分大小寫的($X 和 $x 是兩個不一樣的變量)

 PHP 是一門弱類型語言

    咱們沒必要向 PHP 聲明該變量的數據類型。PHP 會根據變量的值,自動把變量轉換爲正確的數據類型。在強類型的編程語言中,咱們必須在使用變量前先聲明(定義)變量的類型和名稱,例如(TypeScript(強類型語言))。服務器

 

 

 

 PHP 變量做用域cookie

  變量的做用域是腳本中變量可被引用/使用的部分。PHP 有四種不一樣的變量做用域:local(局部)、global(全局)、static(靜態)、parameter(參數)

 

  1.在全部函數(function)外部定義的變量,擁有全局做用域。除了函數外,全局變量能夠被腳本中的任何部分訪問,要在一個函數中訪問一個全局變量,須要使用 global 關鍵字。

  2.在 PHP 函數內部聲明的變量是局部變量,僅能在函數內部訪問

  如:<div class="box">

      <?php
        $liang = 8;
        function hermit(){
          $hua = 10;
          echo "<div class='box1'>測試測試</div>";
          global $liang;  //全局變量必須使用global關鍵字才能拿到。不然在函數裏面拿不到全局變量
          $aa = $liang + $hua;
          echo $aa;
        };
        hermit();
      ?>
    </div>

  3.PHP 將全部全局變量存儲在一個名爲 $GLOBALS[index] 的數組中。 index 保存變量的名稱。這個數組能夠在函數內部訪問,也能夠直接用來更新全局變量。

  如:<div class="box2">

      <?php
        $tu = 7;
        $lis = 9;
        $hah = 3;
        function myLiang (){
          $GLOBALS['hah'] = $GLOBALS['tu'] + $GLOBALS['lis'];
        }
        myLiang();
        echo $hah;
      ?>
    </div>

 Static 做用域

  當一個函數完成時,它的全部變量一般都會被刪除。然而,有時候您但願某個局部變量不要被刪除。要作到這一點,請在您第一次聲明變量時使用 static 關鍵字:

   如:<?php

      function myTest(){
        static $x=0; //注:每次調用該函數時,該變量將會保留着函數前一次被調用時的值,且該變量仍然是函數的局部變量。可是若是不加static,則3次調用輸出都是 0
        echo $x;
        $x++;
      }
      myTest(); //第一次調用輸出 0
      myTest(); //第二次調用輸出1
      myTest(); //第三次調用輸出2
    ?>

  注:若是不加static,則3次調用都是輸出 0 

 

 參數做用域

  參數很簡單,和javascript差很少,不過參數也要帶$符號,如:

  <div class="box3">
    <?php
      function liangs($hh){
        echo $hh;
      }
      liangs(8);
    ?>
  </div>

echo 和 print 語句

  echo 和 print 區別:  echo 能夠輸出一個或多個字符串、print  只容許輸出一個字符串,返回值總爲 1

  提示:echo 輸出的速度比 print 快, echo 沒有返回值,print有返回值1。

  例:<?php
      echo "<h2>PHP 頗有趣!</h2>";
      echo "Hello world!<br>";
      echo "我要學 PHP!<br>";
      echo "這是一個", "字符串,", "使用了", "多個", "參數。";    //輸出:這是一個字符串,使用了多個參數。
    ?>

    <?php
      print "<h2>PHP 頗有趣!</h2>";
      print "Hello world!<br>";
      print "我要學 PHP!<br>";
    ?>

 

 

EOF(heredoc) 定界符 (至關於html的pre標籤,保留換行之類的格式)

  以 <<<EOF 開始標記開始,以 EOF 結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號 。

  開始標記和結束標記相同,好比經常使用大寫的 EOT、EOD、EOF 來表示,可是不僅限於那幾個(也能夠用:JSON、HTML等),只要保證開始標記和結束標記不在正文中出現便可。

  位於開始標記和結束標記之間的變量能夠被正常解析,可是函數則不能夠。在 heredoc 中,變量不須要用鏈接符 . 或 , 來拼接 

例:

<?php

$name="runoob";

$a= <<<EOF

 "abc"$name

  "123"

EOF;

// 結束須要獨立一行且先後不能空格

echo $a;

?>

 

數據類型

  String(字符串), Integer(整型), Float(浮點型), Boolean(布爾型), Array(數組), Object(對象), NULL(空值)。

  1.字符串,使用雙引號或單引號括起來的任何文本。如 : $a = 'lalalalll, 會員卡 ';

  2.整形:整數是一個沒有小數的數字, 必須至少有一個數字 (0-9) ,不能包含逗號或空格,整數能夠是正數或負數,能夠用三種格式來指定:十進制, 十六進制( 以 0x 爲前綴)或八進制(前綴爲 0)。

  如:

  <?php
    $c = 2541;
    var_dump($c);
    echo '<br/>';

    $d = -28;
    var_dump($d);
    echo '<br/>';

    $e = 0x8c;//十六進制數
    var_dump($e); //140
    echo '<br/>';

    $f = 047;//八進制數
    var_dump($f); //39
    echo '<br/>';
  ?>

   附: var_dump() 函數返回變量的數據類型和值

  3. 浮點型:浮點數是帶小數部分的數字,或是指數形式。

  如:

    <?php
      $g = 5.234;
      var_dump($g);
      echo '<br/>';

      $h = 2.4e3;
      var_dump($h);
      echo '<br/>';

      $i = 8E-5;
      var_export($i);
    ?>

  4.布爾型:布爾型能夠是 true或 false。布爾型一般用於條件判斷。

  5.數組:數組能夠在一個變量中存儲多個值。

  如:  

  <?php
    $arr = array('liang', 'tu', 'hua', 'hermit', 8);
    var_dump($arr);
  ?>

  

 

 

   6.對象:對象數據類型也能夠用於存儲數據。在 PHP 中,對象必須聲明。首先,你必須使用class關鍵字聲明類對象。類是能夠包含屬性和方法的結構。而後咱們在類中定義數據類型,而後在實例化的類中使用數據類型

   如:<?php

      class Car{
        var $color;
        function __construct($color = '#0f0'){
          $this->color = $color;
        }
        function what_color(){
          return $this->color;
        }
      }
      function print_vars($obj){
        foreach (get_object_vars($obj) as $prop => $val){
          echo "t$prop = $val\n";
        }
      }

      $herbie = new Car("white");

      //顯示herbie屬性
      echo "\therbie: Properties\n";
      print_vars($herbie);
    ?>

  附:關鍵字this就是指向當前對象實例的指針,不指向任何其餘對象或類。

   7.NULL 值:NULL 值表示變量沒有值。NULL 是數據類型爲 NULL 的值。NULL 值指明一個變量是否爲空值。 一樣可用於數據空值和NULL值的區別。能夠經過設置變量值爲 NULL 來清空變量數據

   如:

    <?php
      $k = "liang Tuhua";
      echo "未清空以前: $k <br/>"; //輸出:未清空以前: liang Tuhua 
      $k = null;
      echo "清空以後: $k <br/>";  //輸出:清空以後: 
    ?>

 

附:var_dump() 方法,判斷一個變量的類型與長度,並輸出變量的數值,若是變量有值,則輸出是變量的值,並返回數據類型。顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。

附:echo,print,print_r,var_dump 的區別:

  1.echo:輸出一個或者多個字符串。

  2.print:和 echo 最主要的區別: print 僅支持一個參數,並老是返回 1。

  3.print_r:打印關於變量的易於理解的信息,若是給出的是 string、integer 或 float,將打印變量值自己。若是給出的是 array,將會按照必定格式顯示鍵和元素。object 與數組相似。 記住,print_r() 將把數組的指針移到最後邊。使用 reset() 可以讓指針回到開始處。

  4.var_dump:此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。

  5.var_dump 和 print_r 的區別:var_dump 返回表達式的類型與值而 print_r 僅返回結果,相比調試代碼使用 var_dump 更便於閱讀。

相關文章
相關標籤/搜索