Site icon Li-Edward

第3節 PHP 陣列與 PHP 字串操作 – 5個小時學會 PHP

5個小時學會 PHP

5個小時學會 PHP

PHP 的三種類型(索引陣列、關聯陣列、多維陣列)與 字串操作 的常用函式(如 strlen()str_replace()explode())。這些技能對於處理大量資料和文字內容非常重要,並會成為未來專案開發的基礎


1. PHP 陣列(Array)

1.1 陣列的概念


1.2 索引陣列

索引陣列的元素由數字索引標識,索引從 0 開始。

語法:

$陣列名稱 = [值1, 值2, 值3];

範例程式碼:

<?php
// 定義索引陣列
$fruits = ["蘋果", "香蕉", "葡萄"];

// 存取陣列元素
echo "第一個水果:" . $fruits[0] . "<br>";
echo "第二個水果:" . $fruits[1] . "<br>";

// 使用 foreach 遍歷陣列
foreach ($fruits as $index => $fruit) {
echo "索引 $index:$fruit<br>";
}
?>

輸出結果:

第一個水果:蘋果  
第二個水果:香蕉
索引 0:蘋果
索引 1:香蕉
索引 2:葡萄

1.3 關聯陣列

關聯陣列使用自定義鍵值(key)來存取元素,而非索引數字。

語法:

$陣列名稱 = ["鍵1" => "值1", "鍵2" => "值2"];

範例程式碼:

<?php
// 定義關聯陣列
$person = [
"name" => "LiEdward",
"age" => 14,
"city" => "臺南"
];

// 存取元素
echo "名字:" . $person['name'] . "<br>";
echo "年齡:" . $person['age'] . "<br>";
echo "城市:" . $person['city'] . "<br>";

// 遍歷關聯陣列
foreach ($person as $key => $value) {
echo "$key:$value<br>";
}
?>

輸出結果:

名字:LiEdward  
年齡:14
城市:臺中
name:LiEdward
age:14
city:臺南

1.4 多維陣列

多維陣列是陣列中包含其他陣列的資料結構。

範例程式碼:

<?php
// 定義多維陣列
$students = [
["name" => "小明", "score" => 90],
["name" => "小華", "score" => 85],
["name" => "小強", "score" => 70]
];

// 存取多維陣列的資料
foreach ($students as $student) {
echo "姓名:" . $student['name'] . ",成績:" . $student['score'] . "<br>";
}
?>

輸出結果:

姓名:小明,成績:90  
姓名:小華,成績:85
姓名:小強,成績:70

2. 字串操作

2.1 字串串接與輸出

範例程式碼:

<?php
$name = "Li";
$greeting = "你好," . $name . "!歡迎學習 PHP!";
echo $greeting;
?>

輸出結果:

你好,Li!歡迎學習 PHP!

2.2 常用字串函式

1. 取得字串長度:strlen()

<?php
$text = "Hello, PHP!";
echo "字串長度:" . strlen($text);
?>

輸出結果:

字串長度:11

2. 找尋字串位置:strpos()

<?php
$text = "Hello, PHP!";
$pos = strpos($text, "PHP");
echo "PHP 出現在索引位置:" . $pos;
?>

輸出結果:

PHP 出現在索引位置:7

3. 字串替換:str_replace()

<?php
$text = "I love JavaScript!";
$newText = str_replace("JavaScript", "PHP", $text);
echo $newText;
?>

輸出結果:

I love PHP!

4. 分割字串:explode()

將字串切割成陣列。

<?php
$text = "蘋果,香蕉,葡萄";
$fruits = explode(",", $text);

foreach ($fruits as $fruit) {
    echo "水果:$fruit<br>";
}
?>

輸出結果:

水果:蘋果  
水果:香蕉
水果:葡萄

5. 合併陣列為字串:implode()

<?php
$fruits = ["蘋果", "香蕉", "葡萄"];
$text = implode("、", $fruits);
echo "水果列表:" . $text;
?>

輸出結果:

水果列表:蘋果、香蕉、葡萄

3. 綜合練習

練習 1:輸出陣列內容

  1. 定義一個索引陣列,包含三個你喜歡的食物名稱。
  2. 使用 foreach 輸出每個食物名稱。
打開看練習程式範例

程式碼:

<?php
// 定義索引陣列,包含喜歡的食物名稱
$foods = ["壽司", "牛排", "義大利麵"];

// 使用 foreach 迴圈輸出陣列內容
echo "我喜歡的食物有:<br>";
foreach ($foods as $index => $food) {
echo "第 " . ($index + 1) . " 項:$food<br>";
}
?>

程式碼解釋:

  1. $foods 陣列中儲存三個喜歡的食物名稱。
  2. foreach 用來遍歷陣列元素:
    • $index 表示陣列的索引(從 0 開始)。
    • $food 表示當前陣列的值。
  3. 輸出索引加上 1,讓顯示結果更友好。

輸出結果:

我喜歡的食物有:  
第 1 項:壽司  
第 2 項:牛排  
第 3 項:義大利麵  

練習 2:字串操作

  1. 定義一段文字:"PHP 是一個強大的語言"
  2. 替換字串中的「強大」為「靈活」。
  3. 計算替換後字串的長度並輸出。
打開看練習程式範例

程式碼:

<?php
// 定義字串
$text = "PHP 是一個強大的語言";

// 使用 str_replace() 替換字串內容
$newText = str_replace("強大", "靈活", $text);

// 使用 strlen() 計算字串長度
$length = strlen($newText);

// 輸出結果
echo "原字串:$text<br>";
echo "替換後字串:$newText<br>";
echo "替換後字串的長度:$length 個字元<br>";
?>

程式碼解釋:

  1. 使用 str_replace()
    • 將字串中的「強大」替換成「靈活」。
    • 語法str_replace(尋找字串, 替換字串, 原始字串)
  2. 使用 strlen()
    • 計算替換後字串的長度。
  3. 輸出原字串、替換後的字串及字串長度。

輸出結果:

原字串:PHP 是一個強大的語言  
替換後字串:PHP 是一個靈活的語言
替換後字串的長度:23 個字元


練習 3:多維陣列

  1. 建立一個多維陣列,包含三個學生的姓名與分數。
  2. 使用 foreach 遍歷陣列,輸出每個學生的姓名與分數。
打開看練習程式範例

程式碼:

<?php
// 定義多維陣列,包含學生姓名與分數
$students = [
["name" => "小明", "score" => 90],
["name" => "小華", "score" => 85],
["name" => "小強", "score" => 70]
];

// 使用 foreach 遍歷多維陣列
echo "學生成績列表:<br>";
foreach ($students as $student) {
echo "姓名:" . $student['name'] . ",分數:" . $student['score'] . "<br>";
}
?>

程式碼解釋:

  1. 多維陣列 $students
    • 每個元素是關聯陣列,包含兩個鍵值:name(姓名)和 score(分數)。
  2. foreach 遍歷陣列
    • 每次迭代時,$student 是單個學生的資料。
    • 使用 $student['name']$student['score'] 存取姓名與分數。
  3. 輸出格式為「姓名:分數」。

輸出結果:

學生成績列表:  
姓名:小明,分數:90
姓名:小華,分數:85
姓名:小強,分數:70

https://liedward.com/php/5-hour-php-2
https://liedward.com/php/5-hour-php-4




主頁 » PHP » 第3節 PHP 陣列與 PHP 字串操作 – 5個小時學會 PHP
Exit mobile version