1. 程式人生 > >初級PHP--PHP的基本語法之變數

初級PHP--PHP的基本語法之變數

1.變數

變數是用來儲存資料的容器。

變數命名規範:

  • 以美元符號$開頭
  • 由字母、數字和下劃線組成,但不能以數字開頭
  • 不能包含空格,嚴格區分大小寫
  • 可以使用中文,但是不推薦使用
  • 變數必須先聲明後使用,定義的變數名要起到見名知意的作用
note:雖然PHP變數名可以使用下劃線開頭,但是並不建議這樣使用,應為PHP中以下劃線開頭的變數實際上通常是系統自帶的變數。

2.可變變數

一個普通的變數通過宣告來設定,也可以動態的設定和使用:

<?php
$a = 'Hello';
?>

一個可變變數獲取了一個普通變數的值作為這個可變變數的變數名:

<?php
$$a = 'World!';
echo "$a $Hello";
?>
//輸出:Hello World!

當遇到可變變數用於陣列時($$a[1])有以下兩種情況:

  • $a[1]作為一個變數:${$a[1]}
  • $$a作為一個變數取出索引[1]中的值:${$a}[1]
note:適當使用花括號來給屬性嗎清晰定界。

3.變數間的賦值方式

●  傳值賦值

將變數的值複製出一份放到另一個變數中,兩個變數各自指向自己的記憶體區域,修改值時兩個變數之間互不影響。

<?php
$a = 1;
$b = $a;
echo $b;
$a = 3;
echo $a;
echo $b;
?>
//輸出:1  1
        3  1

●  引用賦值

在將要賦值的變數前加&,是將變數的引用複製出來一份,新的引用還是指向原來的值,不再開闢記憶體空間

<?php
$a = 1;
$b = 2;
$a = &$b;
echo $a;
echo $b;
$a = 3;
echo $a;
echo $b;
?>
//輸出:2   2
        3   3

4.變數相關函式

  • echo    用於輸出一個或多個字串或變數
  • print()  只能輸出簡單型別變數值,如int、string
  • print_r()  輸出複雜型別變數的值,如陣列、物件
  • var_dump()  列印變數型別和值
  • isset()    檢測一個變數是否被宣告,返回true/false
  • unset()   釋放變數
<?php
	//echo  用來列印字串或者列印變數(不能列印陣列)列印普通變數輸出值的時候使用
	//print_r 列印變數資訊(一般用來列印陣列)  列印陣列的時候使用
	//var_dump() 列印變數的相關資訊(列印所有資訊)要輸出所有資訊的時候才會使用 照妖鏡 什麼型別一照就出來
	
	//普通變數
	$a = '聰明伶俐花少北';

	echo $a;
	print_r($a);
	var_dump($a);
	
	//陣列變數
	$arr = array(1,2,3);
	//echo $arr;
	//print_r($arr);
	var_dump($arr);

	//檢測變數是否被宣告
	$a = '張三李四王二麻';
	echo $a;
	var_dump(isset($a));
	var_dump(isset($b));

	//unset 釋放變數
	$c =100;
	var_dump(isset($c));
	unset($c);
	var_dump(isset($c));
?>

5.資料型別

標量型別:Boolean、Integer、Float、String

複合型別:Array、Object

特殊型別:NULL、Resource

布林型(Boolean):true/false(不區分大小寫)

強制轉換下,以下值被認為是false,未出現的值均為true:

  • 布林型:false
  • 整型:0
  • 浮點型:0
  • 字串:空字串、0
  • 陣列:空陣列
  • 特殊型別:NULL

notes:使用echo列印值為true的變數,得到1;而使用列印值為false的變數,結果無內容,而非預想的0.

整型(Integer):負整數、0、正整數