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

PHP 數組操作大全:創建、遍歷、排序、鍵值轉換、多維數組、統計去重

     編輯:PHP 綜合知識

前言

數組是 PHP 最靈活的數據結構,同時扮演列表、映射、集合、堆棧等角色。本文通過 24 個 Demo 系統講解索引/關聯數組、遍歷方式、多維數組、排序函數族、指針操作、統計去重、鍵值互換等核心技巧。

一、創建與基礎訪問(Demo1-2)

$arr = ['張三', '李四', '王五']; // 短語法 PHP 5.4+
$arr = range(1, 4);    // [1,2,3,4]
$arr = range('a', 'e'); // ['a','b','c','d','e']

默認索引從 0 開始自增。

二、遍歷方式對比(Demo3)

// foreach 鍵值遍歷(推薦,不受索引類型影響)
foreach ($arr as $key => $val) { echo "$key => $val"; }

// for 循環(僅適用連續數字索引)
for ($i=0; $i

三、關聯數組與自定義鍵(Demo4-7)

$arr = ['baidu'=>'張三', 'taobao'=>'李四'];
$arr['360'] = '王五'; // 動態添加
$arr = []; $arr['chaoyv'] = 25; // 直接賦值創建

四、指針操作與 each/list(Demo8-11)

  • each():返回當前鍵值並指針後移
  • reset():指針歸零
  • list($k, $v) = each($arr):解包賦值
  • current/next/prev/end:指針移動

五、去重與鍵值翻轉(Demo12-13)

$arr = ['世'=>'何開', '境'=>'何開', '血'=>'趙血兒'];
$unique = array_unique($arr); // 保留首次出現,鍵不變
$flipped = array_flip($arr);  // 鍵值互換,重複值後者覆蓋前者

六、多維數組遍歷(Demo14-16)

$products = [
    ['產品'=>'蘋果', '數量'=>6, '價格'=>28.8],
    ['產品'=>'豬肉', '數量'=>2, '價格'=>18.8],
];
// 雙重 for
for ($i=0; $i$v) { echo "$k:$v|"; }
    echo '<br>';
}

七、排序函數族全景(Demo17-19)

函數排序依據鍵名保持示例
sort值重置索引數字/字符串
rsort值降序重置索引—
asort值升序保持關聯關聯數組
arsort值降序保持關聯—
ksort鍵升序保持關聯按鍵名排序
krsort鍵降序保持關聯—
usort/uksort自定義回調視回調複雜邏輯

排序標誌:SORT_NUMERIC、SORT_STRING、SORT_LOCALE_STRING、SORT_NATURAL、SORT_FLAG_CASE。

八、隨機打亂與反轉(Demo20)

shuffle($arr);        // 原地打亂
$rev = array_reverse($arr); // 返回新反轉數組

九、棧/隊列操作(Demo21)

array_unshift($arr, '新元素'); // 數組開頭入棧
array_push($arr, '尾部');      // 數組結尾入隊
array_shift($arr);             // 開頭出棧
array_pop($arr);               // 結尾出隊

十、隨機取鍵與統計(Demo22-23)

$keys = array_rand($arr, 2); // 取 2 個隨機鍵
echo $arr[$keys[0]];

print_r(array_count_values($arr)); // 值頻率統計

十一、變量導入符號表(Demo24)

$arr = ['a'=>'apple', 'b'=>'banner'];
extract($arr); // 創建 $a='apple', $b='banner'
echo $a . $b;  // applebanner

慎用:可能覆蓋現有變量,建議加 EXTR_PREFIX_ALL 前綴。

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