亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP開發(fā)基礎(chǔ)教程之變量

變量是用于存儲(chǔ)信息的"容器":

見下面的例子

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
</body>
</html>



一、與代數(shù)類似

x=5

y=6

z=x+y

  • 在代數(shù)中我們使用字母(比如 x)來(lái)保存值(比如 5)。

  • 從上面的表達(dá)式 z=x+y,我們能夠計(jì)算出 z 的值是 11。

  • ?在 PHP 中,這三個(gè)字母被稱為變量。

  • 注:請(qǐng)把變量視為存儲(chǔ)數(shù)據(jù)的容器。


二、PHP變量

正如代數(shù),PHP 變量可用于保存值(x=5)和表達(dá)式(z=x+y)。

變量的名稱可以很短(比如 x 和 y),也可以取更具描述性的名稱(比如 number、total_volume)。


三、PHP變量規(guī)則

  • 變量以 $ 符號(hào)開頭,其后是變量的名稱

  • ?變量名稱必須以字母或下劃線開頭

  • ?變量名稱不能以數(shù)字開頭

  • 變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _)

  • 變量名稱對(duì)大小寫敏感($y 與 $Y 是兩個(gè)不同的變量)

注:PHP 變量名稱對(duì)大小寫敏感!

實(shí)例:

<?php
//site = 'Hello';     // 非法變量名;以數(shù)字開頭
$_4site = 'World';    // 合法變量名;以下劃線開頭
$i小明is = 'haha';  // 合法變量名;可以用中文
?>



四、創(chuàng)建PHP變量

PHP 沒(méi)有聲明變量的命令。

變量在您第一次賦值給它的時(shí)候被創(chuàng)建:

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

在上面的語(yǔ)句執(zhí)行中,變量?txt?將保存值?Hello world!,且變量?x?將保存值?5。

注:當(dāng)您賦一個(gè)文本值給變量時(shí),請(qǐng)?jiān)谖谋局祪蓚?cè)加上引號(hào)。


五、PHP是一門類型松散的語(yǔ)言

  • 在上面的實(shí)例中,我們注意到,不必向 PHP 聲明該變量的數(shù)據(jù)類型。

  • PHP 會(huì)根據(jù)變量的值,自動(dòng)把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型。

  • 在強(qiáng)類型的編程語(yǔ)言中,我們必須在使用變量前先聲明(定義)變量的類型和名稱。


六、PHP變量作用域(建議初學(xué)者暫時(shí)了解,不用深究)

變量的作用域是腳本中變量可被引用/使用的部分。

PHP 有四種不同的變量作用域:

  • ?local

  • global

  • ?static

  • ?parameter


1.局部和全局作用域

在所有函數(shù)外部定義的變量,擁有全局作用域。除了函數(shù)外,全局變量可以被腳本中的任何部分訪問(wèn),要在一個(gè)函數(shù)中訪問(wèn)一個(gè)全局變量,需要使用 global 關(guān)鍵字。

在 PHP 函數(shù)內(nèi)部聲明的變量是局部變量,僅能在函數(shù)內(nèi)部訪問(wèn):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php 
$x=5; // 全局變量 

function myTest() 
{ 
    $y=10; // 局部變量 
    echo "<p>測(cè)試函數(shù)內(nèi)變量:<p>"; 
    echo "變量 x 為: $x"; 
    echo "<br>"; 
    echo "變量 y 為: $y"; 
}  

myTest(); 

echo "<p>測(cè)試函數(shù)外變量:<p>"; 
echo "變量 x 為: $x"; 
echo "<br>"; 
echo "變量 y 為: $y"; 
?>
</body>
</html>



2.PHP global關(guān)鍵詞

global 關(guān)鍵字用于函數(shù)內(nèi)訪問(wèn)全局變量。

  • 在函數(shù)內(nèi)調(diào)用函數(shù)外定義的全局變量,我們需要在函數(shù)中的變量前加上 global 關(guān)鍵字:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$x=5;
$y=6;
function test(){
	global $x,$y;
	$y=$x+$y;
}
test();
echo $y;
?>
</body>
</html>

注:大家可以把global去掉看看是什么效果

  • PHP 將所有全局變量存儲(chǔ)在一個(gè)名為 $GLOBALS[index] 的數(shù)組中。?index?保存變量的名稱。這個(gè)數(shù)組可以在函數(shù)內(nèi)部訪問(wèn),也可以直接用來(lái)更新全局變量。

上面的實(shí)例可以寫成這樣:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$x=5;
$y=6;
function myTest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
myTest();
myTest();
myTest();
echo $y;
?>
</body>
</html>

注:兩種方法實(shí)際的效果是一樣的


3.PHP static關(guān)鍵詞

當(dāng)一個(gè)函數(shù)完成時(shí),它的所有變量通常都會(huì)被刪除。然而,有時(shí)候您希望某個(gè)局部變量不要被刪除。

要做到這一點(diǎn),請(qǐng)?jiān)谀谝淮温暶髯兞繒r(shí)使用?static?關(guān)鍵字:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
function myTest()
{
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
</body>
</html>

注:global內(nèi)的內(nèi)容也會(huì)被銷毀嗎???


4.參數(shù)作用域

參數(shù)是通過(guò)調(diào)用代碼將值傳遞給函數(shù)的局部變量。

參數(shù)是在參數(shù)列表中聲明的,作為函數(shù)聲明的一部分:

更多詳細(xì)介紹請(qǐng)查看PHP 函數(shù)章節(jié)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
function test($x)
{
echo $x;
}
test(2016);
?>
</body>
</html>



七、可變變量

可變變量即變量的變量,實(shí)質(zhì)就是在已經(jīng)聲明過(guò)了的變量前面,再加一個(gè)$符號(hào),實(shí)例如下

先設(shè)置$x

<?php
$x= 'hello';
$$x='xiao ming';
echo "$x ${$x}";
?>

以上代碼也可以寫成:

<?php
$x= 'hello';
$hello='xiao ming';
echo "$x $hello";
?>

這兩個(gè)例子是等價(jià)的

注:可變變量用于數(shù)組,必須解決一個(gè)模棱兩可的問(wèn)題。這就是當(dāng)寫下 $$a[1] 時(shí),解析器需要知道是想要 $a[1] 作為一個(gè)變量呢,還是想要 $$a 作為一個(gè)變量并取出該變量中索引為 [1] 的值。解決此問(wèn)題的語(yǔ)法是,對(duì)第一種情況用 ${$a[1]},對(duì)第二種情況用 ${$a}[1]。

學(xué)習(xí)心得:

  • 對(duì)變量概念的理解,變量就是放信息的容器

  • 變量的四種作用域的應(yīng)該范圍和區(qū)別

繼續(xù)學(xué)習(xí)
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> </body> </html>
提交重置代碼