iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
Modern Web

PHP 新手自學筆記系列 第 14

【Day14】基礎陣列函式

  • 分享至 

  • xImage
  •  

參考: w3schools

我整理了幾個 比較基礎和重要的函式

count 回傳陣列元素的數量

<?php
$fruit=["apple", "banana", "cherry"];
echo count($fruit); //3
?>

in_array 查詢值是否存在於陣列中

<?php
$fruit = ["apple", "banana", "cherry"];
echo in_array("apple", $fruit); // 1
?>

說明:因為存在所以輸出 1,echo 輸出的是字串,布林 true 會被轉為 1,若值不存在則輸出空字串。這個函式常用於條件判斷,避免重複寫迴圈比對陣列

array_key_exists 檢查key是否存在

<?php
$fruit=[1=>"apple", 2=>"banana", 3=>"cherry"];
echo array_key_exists(1, $fruit) ? "true" : "false"; // true
?>

說明:因為1這個key存在於fruit這個陣列所以執行?右邊的true

array_push 將元素加入陣列尾端 (專案中常用於動態增加資料,例如新增使用者輸入或資料庫查詢結果)

$stack = ["apple", "banana"];
array_push($stack, "cherry");
print_r($stack);
/*
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
*/

array_pop 刪除陣列最後一個元素

$stack = ["apple", "banana", "cherry"];
$last = array_pop($stack);
print_r($stack);
/* 
Array
(
    [0] => apple
    [1] => banana
)
*/

array_shift 刪除陣列第一個元素 (適合需要先進先出操作,例如處理佇列任務或排程資料)

$queue = ["apple", "banana", "cherry"];
$first = array_shift($queue);
print_r($queue);
/*
Array
(
    [0] => banana
    [1] => cherry
)
*/

array_unshift 將元素加入陣列開頭 (可用在專案中需要在陣列開頭插入資料時使用)

$queue = ["banana", "cherry"];
array_unshift($queue, "apple");
print_r($queue);
/*
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)
*/

array_merge 合併一個或多個陣列

$array1 = [1, 2, 3];
$array2 = [4, 5, 6];

$result = array_merge($array1, $array2);
print_r($result);

/* 輸出:
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
*/ 數字鍵會 重新編號,順序從 0 開始,適合需要將多個資料集合併為單一陣列時使用。

sort 排序陣列值

將陣列中的值依 字母或數字大小 由小到大排序。
數字 → 按數值大小排序
字串 → 按 ASCII 編碼大小 排序(A–Z < a–z)

重置索引
原本陣列的 key(索引)會被重新編號,從 0 開始。
適用於「只在乎值,不在乎原 key」的陣列。

$words = ["banana", "Apple", "cherry", "apple", "Banana", "Cherry"];
sort($words);

foreach ($words as $key=>$value) {
    echo "words[$key] = $value\n";
}
/* 輸出:
words[0] = Apple
words[1] = Banana
words[2] = Cherry
words[3] = apple
words[4] = banana
words[5] = cherry
*/
?> // 我是在cli裡面執行php 所以用\n換行,若在瀏覽器執行則要用<br>

ksort() 按照陣列的key排序

$fruits = [
    3 => "cherry",
    1 => "apple",
    2 => "banana"
];
ksort($fruits);

foreach ($fruits as $key => $val) {
    echo "fruits[$key] = $val\n";
}

/* 輸出:
fruits[1] = apple
fruits[2] = banana
fruits[3] = cherry
*/
函式 排序依據 是否重置 key 適合用於
sort() 值 (value) 單純值排序,不在乎 key
ksort() 鍵 (key) 需要保留 key 對應的情況

上一篇
【Day13】一維陣列和多維陣列 取key / value (foreach)實作
下一篇
【Day15】進階陣列函式
系列文
PHP 新手自學筆記15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言