PHP 學習筆記

Undefined443發表於2024-07-02

PHP(Hypertext Preprocessor)是一種廣泛用於 Web 開發的伺服器端指令碼語言。它可以嵌入到 HTML 中,用於生成動態網頁。

基本語法

PHP 程式碼通常嵌入在 HTML 中,使用 <?php ... ?> 標籤包圍。

<!DOCTYPE html>
<html>
<head>
    <title>PHP 示例</title>
</head>
<body>
    <h1><?php echo "Hello, World!"; ?></h1>
</body>
</html>

變數與資料型別

PHP 變數以 $ 開頭,資料型別包括字串、整數、浮點數、布林值、陣列和物件等。

<?php
$name = "John";
$age = 30;
$isStudent = true;
$gpa = 3.75;

echo "Name: $name, Age: $age, Student: " . ($isStudent ? "Yes" : "No") . ", GPA: $gpa";
?>

陣列

PHP 中的陣列有兩種型別:索引陣列和關聯陣列。

// 索引陣列
$colors = array("Red", "Green", "Blue");
echo $colors[0]; // 輸出: Red

// 關聯陣列
$person = array("name" => "John", "age" => 30, "city" => "New York");
echo $person["name"]; // 輸出: John

條件語句

PHP 支援常見的條件語句如 if, else, elseifswitch

<?php
$grade = 85;

if ($grade >= 90) {
    echo "A";
} elseif ($grade >= 80) {
    echo "B";
} elseif ($grade >= 70) {
    echo "C";
} else {
    echo "F";
}
?>

迴圈

PHP 支援 for, while, do-whileforeach 迴圈。

// for 迴圈
for ($i = 0; $i < 5; $i++) {
    echo "Number: $i <br>";
}

// while 迴圈
$j = 0;
while ($j < 5) {
    echo "Number: $j <br>";
    $j++;
}

// foreach 迴圈
$colors = array("Red", "Green", "Blue");
foreach ($colors as $color) {
    echo "Color: $color <br>";
}

函式

PHP 支援使用者定義函式。

<?php
function greet($name) {
    return "Hello, $name!";
}

echo greet("John");
?>

表單處理

PHP 可以處理 HTML 表單資料。

<!-- HTML 表單 -->
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Name: <input type="text" name="name">
    <input type="submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 收集並處理表單資料
    $name = htmlspecialchars($_POST['name']);
    echo "Hello, $name!";
}
?>

資料庫連線

PHP 常用的資料庫是 MySQL,這裡是一個簡單的連線和查詢示例。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

// 建立連線
$conn = new mysqli($servername, $username, $password, $dbname);

// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
}

// 查詢資料庫
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 輸出每行資料
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
} else {
    echo "0 結果";
}

$conn->close();
?>

參見:PHP 手冊

相關文章