在PHP 5.5及以上版本中,$map是一個很有用的數組函數。$map函數可以用來對數組進行排序、元素過濾和轉換等多種操作。下面我們就來詳細介紹下php $map函數的使用。
$map函數可以用于一維數組的排序,例如,我們有一個數組$arr=array('2','4','1','3'),若我們想將數組按照升序排序,那么可以使用$map函數實現,代碼如下:
$arr=array('2','4','1','3'); $new_arr=array_map(function(){return $value;}, $arr); asort($new_arr);在上面的代碼中,$new_arr的值是array('1','2','3','4')。 或者,我們想將數組按照倒序排列,這里的處理方式很簡單,只需要將toArray()方法替換為reverse()方法即可,代碼如下:
$arr=array('2','4','1','3'); $new_arr=array_map(function(){return $value;}, $arr); $new_arr=array_reverse($new_arr);很多時候,我們會需要過濾掉數組中的一些元素。此時,$map函數也是一個很有效的工具,例如,我們有一個數組$arr=array('2','4','1','3'),現在需要將值為2的元素過濾掉,代碼如下:
$arr=array('2','4','1','3'); $new_arr=array_map(function($value){ if($value!=2){ return $value; } }, $arr);在上述代碼中,$new_arr的值為array('4','1','3')。 $map函數還可以很好的實現數組元素的格式化,例如,我們有一個數組 $arr=array(array('name'=>'jack','age'=>21), array('name'=>'mary','age'=>23), array('name'=>'john','age'=>22)); 現在我們需要將該數組轉化為一個新的數組$new_arr,其中的元素都需要形如"name: jack, age:21"這樣的格式,代碼如下:
$arr=array(array('name'=>'jack','age'=>21), array('name'=>'mary','age'=>23), array('name'=>'john','age'=>22)); $new_arr=array_map(function($value){ return "name: ".$value['name'].", age:".$value['age']; }, $arr);在上述代碼中,$new_arr的值為: array('name: jack, age:21', 'name: mary, age:23', 'name: john, age:22' )。 除了以上的例子,$map函數還有很多很實用的用處,例如,刪除某一字段數值相同的元素等,相信大家可以根據自己的業務需求去靈活運用。
上一篇ajax 封裝 調用方法
下一篇php $keyword