array_map 將回呼函數作用到給定陣列的單元上
array array_map ( callable $callback , array $arr1 [, array $... ] )
array_map() 函數將使用者自訂函數作用到陣列中的每個值上,並傳回使用者自訂函數作用後的帶有新值的陣列。
回呼函數接受的參數數目應該和傳遞給 array_map() 函數的陣列數量一致。
callback 必需。對每個數組的每個元素作用的回調函數。
arr1 必需。將被回呼函數(callback)執行的陣列。
array 可選。將被回呼函數(callback)執行的陣列列表。
傳回值
傳回數組,該數組的每個元素都是數組(arr1)裡面的每個元素經過回呼函數(callback)處理了的。
實例:
<?php function cube ( $n ) { return( $n * $n * $n ); } $a = array( 1 , 2 , 3 , 4 , 5 ); $b = array_map ( "cube" , $a ); print_r ( $b ); ?>
輸出結果:
<?php Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) ?>
#將函數作用到陣列中的每個值上,每個值都乘以本身,並傳回帶有新的值的陣列:
<?php function myfunction($v) { return($v*$v); } $a=array(1,2,3,4,5); print_r(array_map("myfunction",$a)); ?>
定義和用法
array_map() 函數將使用者自訂函數作用到陣列中的每個值上,並傳回使用者自定義函數作用後的帶有新的值的陣列。
提示:您可以向函數輸入一個或多個陣列。
array_map(myfunction,array1,array2,array3...)
myfunction 必要。使用者自訂函數的名稱,或是 null。
array1 必要。規定數組。
array2 可選。規定數組。
array3 可選。規定數組。
傳回包含使用者自訂函數作用後的 array1 的值的陣列。
使用一個使用者自訂函數來改變陣列的值:
<?php function myfunction($v) { if ($v==="Dog") { return "Fido"; } return $v; } $a=array("Horse","Dog","Cat"); print_r(array_map("myfunction",$a)); ?>
使用兩個陣列:
<?php function myfunction($v1,$v2) { if ($v1===$v2) { return "same"; } return "different"; } $a1=array("Horse","Dog","Cat"); $a2=array("Cow","Dog","Rat"); print_r(array_map("myfunction",$a1,$a2)); ?>
將陣列中值的所有字母改為大寫:
<?php function myfunction($v) { $v=strtoupper($v); return $v; } $a=array("Animal" => "horse", "Type" => "mammal"); print_r(array_map("myfunction",$a)); ?>
將函數名稱賦值為null 時:
<?php $a1=array("Dog","Cat"); $a2=array("Puppy","Kitten"); print_r(array_map(null,$a1,$a2)); ?>
以上是php中的array_map()函數細節的詳細內容。更多資訊請關注PHP中文網其他相關文章!