標題:
2-3-2 變數的宣告
[打印本頁]
作者:
小誌
時間:
2011-4-17 23:33
標題:
2-3-2 變數的宣告
2-3-2 變數的宣告
在進行變數的宣告之前我們先來了解一下變數的種類,依據變數的影響可概分為兩種勢力範圍:全域變數(Global),影響範圍遍佈整個程式,包括函數(Function)、副程式(Sub)等全包了;區域變數(Local),勢力範圍較小,只限於宣告該變數的副程式(Sub)或函數(Function)中,當執行程序離開後,區域變數便失去效力而消失了。簡單的說,只要不是在函數(Function)或副程式(Sub)中宣告的變數就是全域變數啦!
到底要如何正確的宣告變數呢?在宣告變數之前我們必須加一個『$』字元符號,也就是說變數的宣告是從『$』字元符號開始:
$變數名稱=初始值;
複製代碼
例如:
$intNumber=5;
$StrName=”維尼”;
複製代碼
那在宣告變數時,我可不可以不指定變數的初始值ㄚ,答案是不行,這樣會產生「Undefined variable」的錯誤提示:
<?
$intNumber=5;
$strName;
echo $intNumber;
?>
複製代碼
[attach]5455[/attach]
圖2-11 範例ch02_04.php。
作者:
小誌
時間:
2011-4-17 23:34
變數會因程式的執行而變動所存放的資料內容!
例如:我們使用一個變數「x」,同時將變數x的值(也就是變數內所儲放的資料內容)指定為「我討厭PHP」,然後把變數x資料內容輸出到網頁中,則網頁出現一個「我討厭PHP」,接著我們再將變數x的值指定為「我喜歡PHP」,把變數x資料內容再次輸出到網頁中,網頁中卻出現一個「我喜歡PHP」,由此可知:在程式執行的過程中,變數的值是可變動的!(範例ch02_05.php)
<?
$x="我討厭PHP"; //宣告變數
echo $x;
$x="我喜歡PHP"; //重新定義變數
?>
<p>
<?
echo $x;
?>
複製代碼
[attach]5456[/attach]
圖2-12 重複利用變數。
作者:
小誌
時間:
2011-4-17 23:35
查詢變數的資料型態
若想得知變數的資料型態,可利用gettype()函數,此函數可取回integer、duble、string、array、object、class、unknown type等型態:(範例ch02_05a.php)
<?
$x="我討厭PHP";
echo gettype($x); //輸出string
echo "<br>";
$x=123;
echo gettype($x); //輸出integer
echo "<br>";
$x=123.321;
echo gettype($x); //輸出double
echo "<br>";
?>
複製代碼
作者:
小誌
時間:
2011-4-17 23:37
變數的資料型態轉換
雖然在宣告變數時,不需要定義變數的資料型態,因為根據不同的變數使用時機, PHP會自動的識別變數內的資料是屬於何種資料型態!但我們亦可強迫進行變數的型態轉換,例如:(範例ch02_05b.php)
<?
$a = 10; // 此時變數為integer
echo gettype($a); //輸出資料型態integer
echo "<br>";
$a = (string)$a; //將變數的資料形態轉換為string
echo gettype($a); //輸出資料型態string
?>
複製代碼
當字串被轉換成值數值資料時,以字串的開頭字元能否辨識為基準,無法辨識的均轉為數值 0。(範例ch02_05c.php)
<?
$a = "1abc"; // 此時變數為字串
echo gettype($a); //輸出資料型態string
echo "<br>";
$a = (int)$a; //將變數的資料形態轉換為整數
echo gettype($a); //輸出資料型態integer
echo "<br>";
$a = "e2"; // 此時變數為字串
$a = (int)$a; //將變數的資料形態轉換為整數
echo ($a); //輸出資料值為0
?>
複製代碼
另外,利用settype()函數亦可改變變數的資料型態:
settype(變數 , 資料型態)
複製代碼
例如:(範例ch02_05d.php)
<?
$a = "3abc"; // 此時變數為字串
$b = 5;
settype($a,"integer"); //將變數的資料形態轉換為整數
echo ($a*$b); //輸出資料值為15
?>
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)