程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php學習之 認清變量的作用范圍

php學習之 認清變量的作用范圍

編輯:PHP綜合
任務2:認清變量的作用范圍

⚑局部變量與全局變量

變量的存在有著它的生命周期,我們可以讓它存在於一個小的函數內部,也可讓它存在於整個程序當中。對於一般情況下聲明的變量,我們稱之為局部變量,只能在當前程序段中存在,而使用$globals聲明出來的變量則是在當前頁面整個程序當中都會有效。

例:
復制代碼 代碼如下:
<?php
$a=1;
$b=2;
function sum()
{$a;
$b;
$b=$a+$b;
}
sum();
echo$b;
?>

在這段程序當中,
第2至3行,我們建立了兩個變量a和b並分別給其賦值為1和2。
第3行至第7行,我們定義了一個自加的函數sum(),其作用是讓sum內部的變量a和b進行相加,並將加得的值賦給b。
第8行,調用sum函數。
第9行,用echo將b的值輸出。
可能有人會認為此時在網頁上輸出的值一定是3,但是運行後你會發現,值還是為2,也就是b原先的值。這就是局部變量的原因造成的,在第2至3行當中聲明的變量無法在sum()函數中使用,也就是說,sum函數中使用的a和b和第2至3行中a和b只是名字相同,但兩者之間毫無關系。所以,在最終輸出的b也就是第3行b的值了。

但如果,我們將程序修改下面的樣式:
復制代碼 代碼如下:
<?php
$a=1;
$b=2;
function sum()
{
global $a,$b;
$b=$a+$b;
}
sum();
echo $b;
?>

我們發現,在sum函數中,我們給變量a和b加上了一個global修飾符,這個時候,a和b就和函數外的a和b建立上了關系,它們就是同一個變量了。因此,這個程序在運行的時候,其結果就為3了。因此,我們在聲明全局變量時,只需在局部使用它們時(本例中是在函數sum中),給它們加上一個修飾符global,它們就可以繼承外部的值,也就不再是局部變量了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved