首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 入門筆記:語法、資料型別、函式、作用域與流程控制

     編輯:PHP 綜合知識

1. 基本語法與輸出

PHP 代碼嵌入 HTML 使用 <?php ... ?> 標籤。輸出資料常用 echo(可接多參數、無回傳值)與 print(單參數、回傳 1)。

<?php
$name = 'World';
echo 'Hello', $name;           // 多參數,效能略優
print 'Hello ' . $name;        // 單參數,字串串接
printf('%s 年銷售額: %d 萬', '2024', 1200); // 格式化輸出
$s = sprintf('訂單編號: %06d', 42);         // 格式化回傳字串
?>

2. 資料型別與型別轉換

PHP 為弱型別、動態型別,變數以 $ 開頭,區分大小寫。

八大資料型別

  • 標量:bool、int、float、string
  • 複合:array、object
  • 特殊:resource、null

型別檢測與強制轉換

<?php
$v = '123.45';
echo gettype($v);        // string
echo is_string($v);      // true
echo is_numeric($v);     // true

$f = (float) $v;         // 強制轉型
$i = (int) $f;
$b = (bool) $i;
$a = (array) $s;         // 字串轉陣列:['0' => '字串內容']
$o = (object) $a;        // 陣列轉物件:stdClass
?>

3. 函式定義與參數傳遞

<?php
// 預設參數、型別宣告(PHP 7+)、回傳型別宣告(PHP 7+)
function calculatePrice(float $price, float $taxRate = 0.05): float
{
    return $price * (1 + $taxRate);
}

// 參考傳遞:允許函式修改外部變數
function swap(&$a, &$b) {
    [$a, $b] = [$b, $a]; // PHP 7.1+ 解構賦值
}

$x = 10; $y = 20;
swap($x, $y); // $x=20, $y=10

// 可變參數(PHP 5.6+)
function sum(...$numbers): float {
    return array_sum($numbers);
}
echo sum(1, 2, 3, 4); // 10
?>

4. 變數作用域

作用域說明關鍵字
區域函式內宣告,函式結束銷毀-
全域函式外宣告,需 global $var 或 $GLOBALS['var'] 在函式內存取global
靜態函式內保留值,不隨呼叫結束銷毀static
超全域內建陣列,任何位置可存取$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE, $_SESSION, $_FILES, $_ENV, $_REQUEST
<?php
$globalVar = '外部';

function testScope() {
    global $globalVar;
    $globalVar = '內部修改'; // 影響外部
    static $count = 0;
    echo ++$count . ' '; // 1 2 3 ...
}
testScope(); testScope(); testScope();
echo $globalVar; // 內部修改
?>

5. 變數變數(Variable Variables)

<?php
$varName = 'username';
$$varName = 'Alice'; // 等同 $username = 'Alice'
echo $username;      // Alice

// 陣列鍵名動態化
$fields = ['name', 'email', 'phone'];
foreach ($fields as $field) {
    ${'user_' . $field} = $_POST[$field] ?? '';
}
// 產生 $user_name, $user_email, $user_phone
?>

慎用: 降低代碼可讀性,現代框架多用陣列/物件替代。

6. 流程控制結構

  • 條件: if/elseif/else、switch/match(PHP 8+ match 為運算式、嚴格比較)
  • 迴圈: while、do-while、for、foreach(遍歷陣列/物件首選)
  • 跳脫: break、continue、return
<?php
// match 運算式(PHP 8+)
$status = match($code) {
    200, 201 => '成功',
    404 => '找不到',
    500 => '伺服器錯誤',
    default => '未知狀態',
};

// foreach 進階
foreach ($users as $id => &$user) { // 參考模式可修改原值
    $user['processed'] = true;
}
unset($user); // 重要:解除參考,避免後續迴圈污染
?>

結語

掌握上述核心語法,即具備 PHP 開發基礎。建議後續深入學習:陣列操作函式、字串處理/正則、檔案與 I/O、錯誤與異常處理、Composer 套件管理、PSR 規範、主流框架。實作專案是最快的學習路徑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved