陣列在程式設計中是經常使用的資料結構,而對於陣列的處理,改變其結構是常見的需求。在PHP語言中,有許多內建的函數可以用來完成這個目的,例如array_map、array_reduce等,本文將對這些函數進行介紹和實際應用。
array_map函數是PHP中的可變函數(可變函數是指在程式碼中可以使用變數作為函數名稱),該函數用於將一個陣列中的所有元素,透過指定回呼函數進行轉換後傳回一個新的數組,新數組中的元素個數和順序與原始數組保持一致。
語法:array_map(callback,array1,array2...)
範例一:
$a = [1,2,3,4,5]; function square($n) { return $n * $n; } $b = array_map("square", $a); print_r($b);
輸出結果:Array ( [0] => 1 [1] => 4 [2] => 9 [3 ] => 16 [4] => 25 )
範例二:
$a1 = [1,2,3]; $a2 = ['one', 'two', 'three']; function combine($n1, $n2) { return $n1 . $n2; } $b = array_map("combine", $a1, $a2); print_r($b);
輸出結果:Array ( [0] => 1one [1] => 2two [2] => 3three )
array_reduce函數用於透過指定回調函數,對數組中的所有元素進行逐一迭代,並傳回單個值。
語法:array_reduce (array, callback, [initial_value])
範例一:
$a = [1, 2, 3, 4, 5]; $sum = array_reduce($a, function($total, $num){ return $total + $num; }); echo $sum;
輸出結果:15
範例二:
$a = ['Hello', 'World', '!']; $sentence = array_reduce($a, function($sentence, $word){ return $sentence . ' ' . $word; }); echo $sentence;
輸出結果:Hello World !
array_map和array_reduce函數都是非常實用的陣列遍歷函數,它們可以幫助我們快速改變陣列的結構,使其符合我們的需求。大家可以在開發上靈活應用,並結合自身需求實際運用。
以上是改變陣列結構的快速方法:array_map、array_reduce等的詳細內容。更多資訊請關注PHP中文網其他相關文章!