php中array_map函數是返回一個數組了,然后對我們的傳值一個個傳組我們要處理的函數處理,下面來給大家介array_map函數使用例子.
array array_map(callable $callback,array $arr1 [,array $... ])
array_map() 返回一個數組,該數組包含了 arr1 中的所有單元經過 callback 作用過之后的單元,callback 接受的參數數目應該和傳遞給 array_map() 函數的數組數目一致,代碼如下:
- function fun($n)
- {
- return $n * $n * $n;
- }
- $a = array(1, 2, 3, 4, 5);
- $b = array_map('fun', $a); /* 每個數組單元作三次方運算,返回數組 */
- print_r($b);
- /*
- Array
- (
- [0] => 1
- [1] => 8
- [2] => 27
- [3] => 64
- [4] => 125
- )
- */
- array_map('unlink', glob('*.txt'));/* glob返回"文件名.txt"組成的數組,然后對每個文件進行刪除操作*/
- array_map('unlink', glob('*.*'));
- //開源代碼Vevb.com
- array_map('unlink', glob('*'));
如果不使用array_map(),對數組每個單元進行操作就只能遍歷然后適當組裝,再看個例子,代碼如下:
- //單個數組使用的例子
- $websites=array("g"=>"google","b"=>"baidu","y"=>"yahoo");
- //輸出原數組
- echo "<pre>";
- print_r($websites);
- echo "</pre>";
- //定義對單個數組處理的回調函數
- function change_value($value){
- return ucfirst($value).".com";
- }
- $urls=array_map('change_value',$websites);
- echo "<pre>";
- print_r($urls);
- echo "</pre>";
- //多個數組使用的例子
- $arr1=array(1,3,5,7);
- $arr2=array(2,4,6,8);
- //定義對多個數組處理的回調函數
- function func1($a,$b){
- return $a*$b;
- }
- $results=array_map('func1',$arr1,$arr2);
- echo "利用回調函數對多個數組處理后,返回的結果:<br>";
- echo "<pre>";
- print_r($results);
- echo "</pre>";
有朋友不清楚array_walk和array_map的區別,下面我簡單的介紹一下,map主要是為了得到你的回調函數處理后的新數組,要的是結果,walk主要是對每個參數都使用一次你的回調函數,要的是處理的過程.
新聞熱點
疑難解答