array_map
為數組的每個元素應用回調函數
array_map()
函數將用戶自定義函數作用到數組中的每個值上,並返回用戶自定義函數作用後的帶有新值的數組。
回調函數接受的參數數目應該和傳遞給array_map()
函數的數組數目一致。
提示:您可以向函數輸入一個或者多個數組。
將函數作用到數組中的每個值上,每個值都乘以本身,並返回帶有新值的數組:
<?php function myfunction ( $v ) { return ( $v * $v ) ; } $a = array ( 1 , 2 , 3 , 4 , 5 ) ; print_r ( array_map ( "myfunction" , $a ) ) ; ?>
親自試一試
使用用戶自定義函數來改變數組的值:
<?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 ) ) ; ?>
親自試一試
array_map ( myfunction , array1 , array2 , array3 ... )
參數 | 描述 |
---|---|
myfunction | 必需。用戶自定義函數的名稱,或者是null。 |
array1 | 必需。規定數組。 |
array2 | 可選。規定數組。 |
array3 | 可選。規定數組。 |