demo示例:
1 $data = array( 2 '0' => array('id' => 10, 'username' => '陳一'), 3 '1' => array('id' => 11, 'username' => '洪二'), 4 '2' => array('id' => 12, 'username' => '張三'), 5 '3' => array('id' => 13, 'username' => '李四') 6 );
方法一: foreach循環方法實現
1 foreach ($data as $key=>$value) { 2 $idData[] = $value['id']; 3 $usernameData[] = $value['username']; 4 } 5 6 var_dump($idData);//array(4) { [0]=> int(10) [1]=> int(11) [2]=> int(12) [3]=> int(13) } 7 var_dump($usernameData);//array(4) { [0]=> string(6) "陳一" [1]=> string(6) "洪二" [2]=> string(6) "張三" [3]=> string(6) "李四" }
方法二: array_map函數方法 函數將用戶自定義函數作用到數組中的每個值上,並返回用戶自定義函數作用后的帶有新值的數組.
1 $callBackData = array_map(function($value){ 2 return $usernameData[] = $value['username']; 3 }, $data); 4 var_dump($callBackData);//array(4) { [0]=> string(6) "陳一" [1]=> string(6) "洪二" [2]=> string(6) "張三" [3]=> string(6) "李四" }
方法三: array_column函數方法 相對實現簡單,但是要求PHP版本必須是5.5.0及以上版本
1 $usernameData = array_column($data, 'username'); 2 var_dump($usernameData);//array(4) { [0]=> string(6) "陳一" [1]=> string(6) "洪二" [2]=> string(6) "張三" [3]=> string(6) "李四" }
方法四: array_walk函數方法 函數對數組中的每個元素應用用戶自定義函數.在函數中,數組的鍵名和鍵值是參數.
1 $usernameData = array(); 2 array_walk($data, function($value, $key) use (&$usernameData){ 3 $usernameData[] = $value['username']; 4 }); 5 var_dump($usernameData);//array(4) { [0]=> string(6) "陳一" [1]=> string(6) "洪二" [2]=> string(6) "張三" [3]=> string(6) "李四" }
方法五: array_reduce函數方法 函數向用戶自定義函數發送數組中的值,並處理最終返回值.
array_reduce(array,myfunction,initial) 注意: PHP 5.3.0 以上,initial 參數接受多類型(混合的); PHP 5.3.0 之前的版本只支持整數.
1 $usernameData = array_reduce($data,function(&$usernameData,$v){ 2 $usernameData[] = $v['username']; 3 return $usernameData; 4 }); 5 var_dump($usernameData);//array(4) { [0]=> string(6) "陳一" [1]=> string(6) "洪二" [2]=> string(6) "張三" [3]=> string(6) "李四" }