array_map — 返回一個(gè)運(yùn)行過回調(diào)函數(shù)的數(shù)據(jù)。
說明
array array_map ( callback callback, array arr1 [, array ...] )
array_map() 返回一個(gè)數(shù)組,該數(shù)組包含了 arr1 中的所有單元經(jīng)過 callback 作用過之后的單元。callback 接受的參數(shù)數(shù)目應(yīng)該和傳遞給 array_map() 函數(shù)的數(shù)組數(shù)目一致。
例 1. array_map() 例子
<?phpfunction cube($n){return($n * $n * $n);}$a = array(1, 2, 3, 4, 5);$b = array_map("cube", $a);print_r($b);?>
Array([0] => 1[1] => 8[2] => 27[3] => 64[4] => 125)
<?phpfunction show_Spanish($n, $m){return("The number $n is called $m in Spanish");}function map_Spanish($n, $m){return(array($n => $m));}$a = array(1, 2, 3, 4, 5);$b = array("uno", "dos", "tres", "cuatro", "cinco");$c = array_map("show_Spanish", $a, $b);print_r($c);$d = array_map("map_Spanish", $a , $b);print_r($d);?>
// printout of $c www.it165.netArray([0] => The number 1 is called uno in Spanish[1] => The number 2 is called dos in Spanish[2] => The number 3 is called tres in Spanish[3] => The number 4 is called cuatro in Spanish[4] => The number 5 is called cinco in Spanish)// printout of $dArray([0] => Array([1] => uno)[1] => Array([2] => dos)[2] => Array([3] => tres)[3] => Array([4] => cuatro)[4] => Array([5] => cinco))
通常使用了兩個(gè)或更多數(shù)組時(shí),它們的長(zhǎng)度應(yīng)該相同,因?yàn)榛卣{(diào)函數(shù)是平行作用于相應(yīng)的單元上的。如果數(shù)組的長(zhǎng)度不同,則最短的一個(gè)將被用空的單元擴(kuò)充。
本函數(shù)一個(gè)有趣的用法是構(gòu)造一個(gè)數(shù)組的數(shù)組,這可以很容易的通過用 NULL 作為回調(diào)函數(shù)名來實(shí)現(xiàn)。
例 3. 建立一個(gè)數(shù)組的數(shù)組
<?php$a = array(1, 2, 3, 4, 5);$b = array("one", "two", "three", "four", "five");$c = array("uno", "dos", "tres", "cuatro", "cinco");$d = array_map(null, $a, $b, $c);print_r($d);?>
Array([0] => Array([0] => 1[1] => one[2] => uno)[1] => Array([0] => 2[1] => two[2] => dos)[2] => Array([0] => 3[1] => three[2] => tres)[3] => Array([0] => 4[1] => four[2] => cuatro)[4] => Array([0] => 5[1] => five[2] => cinco))
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選