$arr = ['one' => 'one', 'two' => 'two', 'three' => 'three']; $keys = array_keys($arr); // [0 => 'one', 1 => 'two', 2 => 'three']
$arr = [20 => 'one', 30 => 'two', 40 => 'three']; $vals = array_values($arr); // [0 => 'one', 1 => 'two', 2 => 'three'] // 重新索引從 0 開始
$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)
// 關聯陣列:同鍵後者覆蓋 $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']
$arr = ['2'=>'taoshihan2', '1'=>'taoshihan1', '3'=>'taoshihan3']; ksort($arr); // 原陣列被修改:['1'=>'taoshihan1', '2'=>'taoshihan2', '3'=>'taoshihan3']
注意:ksort 直接修改原陣列,無回傳值(回傳 bool)。
$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:同鍵不覆蓋,改建子陣列收集所有值