初級PHP--PHP的基本語法之變數
阿新 • • 發佈:2018-11-09
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、正整數