程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php學習日志(2)-php變量,-php變量

php學習日志(2)-php變量,-php變量

編輯:關於PHP編程

php學習日志(2)-php變量,-php變量


        變量是用於存儲數據的容器,與代數相似,可以給變量賦予某個確定的值(例如:$x=3)或者是賦予其它的變量(例如:$x=$y+$z)。變量的定義主要有以下規則:

  • 變量以$開始,後面跟著變量的名稱;
  • 變量名稱有數字、字母、下劃線構成,且第一個字符不能為數字;
  • 變量名稱不能包含空格;
  • 變量名稱區分大小寫。
 

    php中的變量在第一次賦予它值的時候被創建,如果變量未賦值,則在輸出時會出現錯誤,如下面所示:

<?php
$x;
echo $x;
?>

此時浏覽器會出現錯誤提示:

這個部分與Python有所區別,Python中如果變量沒有被賦值,編譯器會直接提示錯誤,我們需要注意一下。

圖、Python變量未賦值發生錯誤               

      php是一門弱類型語言,在定義變量時,我們不需要定義變量的類型,php會根據變量的值,自動的將變量轉換成正確的數據類型。如下例所示:

<?php
$x=3;
$y=3.0;
$str="hello";
$bool=false;
$arr=array(1,2,3);
$_null=NULL;

echo gettype($x),"<br/>";     //輸出類型為integ
echo gettype($y),"<br/>";     //輸出類型為double
echo gettype($str),"<br/>";   //輸出類型為string
echo gettype($bool),"<br/>";  //輸出類型為boolean
echo gettype($arr),"<br/>";   //輸出類型為array
echo gettype($_null),"<br/>";  //輸出類型為NULL
?>

結果為:

      接下來我們將對php的四種變量作用域進行討論,變量作用域定義了變量的作用范圍,php主要有以下四種變量作用域:

  • local
  • global
  • static
  • parameter(參數)

(1)局部與全局作用域

      在函數外定義的變量,擁有全局作用域,除了函數外,全局作用域可以被腳本中的任何部分訪問,要在一個函數中訪問全局變量,需要在函數中變量之前加上

global 關鍵字。

實例:

<?php
/*局部作用域與全局作用域*/
$a=5;

function test()
{
    $b=10;
    echo "測試函數內變量<br/>";
    echo "變量a的值為:$a <br/>";  //變量$a未在函數內定義,在引用時出現錯誤.
    echo "變量b的值為:$b<br/>";
}

test();

echo "測試函數外變量<br/>";
echo "變量a的值為:$a <br/>";
echo "變量b的值為:$b<br/>";    //變量$a未在函數內定義,在引用時出現警告.
?>

結果如下:

圖、局部變量與全局變量

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved