PHP 作為一門源自 Unix 環境的語言,繼承了 Perl 強大的正則表達式功能,同時具備 C 語言的高效與簡潔,深受 C 程序員喜愛。本文將深入探討 PHP 的變量與數組操作技巧、正則表達式應用以及模板技術,助你掌握 PHP 開發的核心精華。
許多初學者忽略了 foreach、list、each 等數組函數。以下範例展示其用法:
<?php
$data = array('a' => 'data1', 'b' => 'data2', 'c' => 'data3');
// 使用 list() 和 each() 遍歷
while(list($subscript, $value) = each($data)) {
echo "$subscript => $value :: ";
echo "$subscript => $value\n<br>";
}
reset($data); // 重置數組指針
// 使用 foreach 遍歷(更推薦)
foreach($data as $subscript => $value) {
echo "$subscript => $value :: ";
echo "$subscript => $value\n<br>";
}
?>
PHP 支持動態變量名與函數名調用:
<?php
// 變量的變量
$var = "this is a var";
$varname = "var";
echo $$varname; // 輸出 "this is a var"
// 函數的變量
function fun1($str) { echo $str; }
$funname = "fun1";
$funname("This is a function !"); // 動態調用函數
?>
關於「指針」概念,PHP 通過引用傳遞(&)實現類似 C 指針的功能:
<?php
// 值傳遞:原值不變
function test1($a) { $a++; }
$c = 0;
test1($c);
echo $c; // 輸出 0
// 引用傳遞:原值改變
function test2(&$a) { $a++; }
$c = 0;
test2($c);
echo $c; // 輸出 1
?>
PHP 繼承了 Perl 的正則規則,並擁有自己的函數庫。正則表達式以 ^ 開始、$ 結尾,中間定義匹配規則。
<?php
$pattern = "^010[0-9]{8}$"; // 010 開頭 + 8 位數字
$phone = "01080718828";
if(ereg($pattern, $phone))
echo "打往北京的號";
else
echo "不是打往北京的號";
?>
字符簇 [0-9] 和量詞 {8} 結合,可精確限定格式。正則廣泛應用於論壇代碼解析(如 UBB、VBB)、表單驗證等場景。
未來將探討 PHP 模板技術、COM 元件整合、XML 處理等進階應用,敬請期待。