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

PHP 陣列常用函式速查:array_keys、array_values、array_map、array_merge、ksort、array_search

     編輯:PHP 綜合知識

取得所有鍵名:array_keys

$arr = ['one' => 'one', 'two' => 'two', 'three' => 'three'];
$keys = array_keys($arr);
// [0 => 'one', 1 => 'two', 2 => 'three']

取得所有值:array_values

$arr = [20 => 'one', 30 => 'two', 40 => 'three'];
$vals = array_values($arr);
// [0 => 'one', 1 => 'two', 2 => 'three']  // 重新索引從 0 開始

對每個元素套用回呼:array_map

$arr = ['one', 'two', 'three'];
function test($v) { return $v . ' Hello'; }
$new = array_map('test', $arr);
// [0 => 'one Hello', 1 => 'two Hello', 2 => 'three Hello']

也支援多陣列平行處理:array_map(fn($a,$b)=>$a+$b, $arr1, $arr2)

合併陣列:array_merge

// 關聯陣列:同鍵後者覆蓋
$a = ['x' => 1, 'y' => 2];
$b = ['y' => 20, 'z' => 30];
array_merge($a, $b); // ['x'=>1, 'y'=>20, 'z'=>30]

// 數值索引:重新索引連接
$a = ['one', 'two', 'three'];
$b = ['4', '5', '6'];
array_merge($a, $b); // [0=>'one',1=>'two',2=>'three',3=>'4',4=>'5',5=>'6']

依鍵名排序:ksort

$arr = ['2'=>'taoshihan2', '1'=>'taoshihan1', '3'=>'taoshihan3'];
ksort($arr);
// 原陣列被修改:['1'=>'taoshihan1', '2'=>'taoshihan2', '3'=>'taoshihan3']

注意:ksort 直接修改原陣列,無回傳值(回傳 bool)。

搜尋值並回傳鍵:array_search

$arr = ['2'=>'taoshihan2', '1'=>'taoshihan1', '3'=>'taoshihan3'];
$key = array_search('taoshihan1', $arr); // '1'

若值重複,只回傳第一個匹配鍵。需所有鍵請用 array_keys($arr, $value)。

進階補充

  • array_flip:鍵值互換,適合建立查找表 isset($flipped[$val])
  • array_column:二維陣列提取單欄 array_column($users, 'name')
  • array_filter、array_reduce、array_walk:函數式處理利器
  • array_merge_recursive:同鍵不覆蓋,改建子陣列收集所有值
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved