首頁  >  文章  >  後端開發  >  改變陣列結構的快速方法:array_map、array_reduce等

改變陣列結構的快速方法:array_map、array_reduce等

WBOY
WBOY原創
2023-06-20 16:51:10997瀏覽

陣列在程式設計中是經常使用的資料結構,而對於陣列的處理,改變其結構是常見的需求。在PHP語言中,有許多內建的函數可以用來完成這個目的,例如array_map、array_reduce等,本文將對這些函數進行介紹和實際應用。

array_map

array_map函數是PHP中的可變函數(可變函數是指在程式碼中可以使用變數作為函數名稱),該函數用於將一個陣列中的所有元素,透過指定回呼函數進行轉換後傳回一個新的數組,新數組中的元素個數和順序與原始數組保持一致。

語法:array_map(callback,array1,array2...)

  • #callback:必要,規定回呼函數。在回呼函數中,必須為每個參數指定一個變數名,並且應該用return傳回一個值。
  • 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_reduce (array, callback, [initial_value])

  • 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn