php二維數組對某一列進行數據組裝


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) "李四" }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM