1. 程式人生 > >PHP變數------03

PHP變數------03

目錄

一. PHP-什麼是變數

二: 如何定義變數

三: 變數名的命名規則

四: PHP 是一門型別鬆散的語言

五: PHP 變數作用域

六: Local 和 Global 作用域

七: PHP global 關鍵詞

八: PHP static 關鍵詞


一. PHP-什麼是變數

1.變數是儲存資訊的容器;

2.eg: 變數就像猴子摘苞谷,只剩最後手上的一個

<?php
   $var = "大家來學PHP";
   echo $var;
   echo "<br />";
   $var = "大家來學PHP";
   $var = "學習讓我快樂";
   echo $var;
?>

效果:

大家來學PHP
學習讓我快樂

二: 如何定義變數

1.PHP 沒有建立變數的命令;變數會在首次為其賦值時被建立;

2.語法:

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

   注意:

  • 在“=”左邊是變數名,右邊是變數值;
  • “=”可不是我們平常所說的等號,在PHP中,=賦值運算子;
  • txt是變數名,"Hello world"是變數值,它是一個字串;x是變數名,5是變數值,他是一個整型;

三: 變數名的命名規則

  • 變數以 $ 符號開頭,其後是變數的名稱;
  • 變數名稱必須以字母或下劃線開頭;
  • 變數名稱不能以數字開頭;
  • 變數名稱只能包含字母數字字元和下劃線(A-z、0-9 以及 _);
  • 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數);
  • 變數名不允許包含空格;

    註釋:PHP 變數名稱對大小寫敏感!

四: PHP 是一門型別鬆散的語言

1.定義變數時,我們不必告知 PHP 變數的資料型別;PHP 根據它的值,自動把變數轉換為正確的資料型別。

2.在諸如 C 和 C++ 以及 Java 之類的語言中,程式設計師必須在使用變數之前宣告它的名稱和型別;

五: PHP 變數作用域

1.在 PHP 中,可以在指令碼的任意位置對變數進行宣告。

2.變數的作用域指的是變數能夠被引用/使用的那部分指令碼。

3.PHP 有三種不同的變數作用域:

  • local(區域性)
  • global(全域性)
  • static(靜態)

六: Local 和 Global 作用域

1.函式之外宣告的變數擁有 Global 作用域,只能在函式以外進行訪問。

2.函式內部宣告的變數擁有 LOCAL 作用域,只能在函式內部進行訪問。

<?php
$x=5; // 全域性作用域

function myTest() {
  $y=10; // 區域性作用域
  echo "<p>測試函式內部的變數:</p>";
  echo "變數 x 是:$x";
  echo "<br>";
  echo "變數 y 是:$y";
} 

myTest();

echo "<p>測試函式之外的變數:</p>";
echo "變數 x 是:$x";
echo "<br>";
echo "變數 y 是:$y";
?>

在上例中,有兩個變數 $x 和 $y,以及一個函式 myTest()。$x 是全域性變數,因為它是在函式之外宣告的,而 $y 是區域性變數,因為它是在函式內宣告的。

如果我們在 myTest() 函式內部輸出兩個變數的值,$y 會輸出在本地宣告的值,但是無法 $x 的值,因為它在函式之外建立。

然後,如果在 myTest() 函式之外輸出兩個變數的值,那麼會輸出 $x 的值,但是不會輸出 $y 的值,因為它是區域性變數,並且在 myTest() 內部建立。

註釋:您可以在不同的函式中建立名稱相同的區域性變數,因為區域性變數只能被在其中建立它的函式識別。

七: PHP global 關鍵詞

1. global 關鍵詞用於訪問函式內的全域性變數;  要做到這一點,請在(函式內部)變數前面使用 global 關鍵詞:

    eg:

<?php
$x=5;
$y=10;

function myTest() {
  global $x,$y;
  $y=$x+$y;
}

myTest();
echo $y; // 輸出 15
?>

2.PHP 同時在名為 $GLOBALS[index] 的陣列中儲存了所有的全域性變數。下標存有變數名。這個陣列在函式內也可以訪問,並能夠用於直接更新全域性變數。

   eg:

<?php
$x=5;
$y=10;

function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 

myTest();
echo $y; // 輸出 15
?>

八: PHP static 關鍵詞

1.通常,當函式完成/執行後,會刪除所有變數。不過,有時我需要不刪除某個區域性變數。實現這一點需要更進一步的工作。

要完成這一點,請在您首次宣告變數時使用 static 關鍵詞:

2.eg:

<?php

function myTest() {
  static $x=0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();

?>

  然後,每當函式被呼叫時,這個變數所儲存的資訊都是函式最後一次被呼叫時所包含的資訊

  註釋:該變數仍然是函式的區域性變數