合拼方法代碼如下,因需要使用函數可變參數,因此需要php版本5.6以上。
?php/** * 將多個一維數組合拼成二維數組 * @param Array $keys 定義新二維數組的鍵值,每個對應一個一維數組 * @param Array $args 多個一維數組集合 * @return Array */function array_merge_more($keys, ...$arrs){ // 檢查參數是否正確 if(!$keys || !is_array($keys) || !$arrs || !is_array($arrs) || count($keys)!=count($arrs)){ return array(); } // 一維數組中最大長度 $max_len = 0; // 整理數據,把所有一維數組轉重新索引 for($i=0,$len=count($arrs); $i $len; $i++){ $arrs[$i] = array_html' target='_blank'>values($arrs[$i]); if(count($arrs[$i]) $max_len){ $max_len = count($arrs[$i]); } // 合拼數據 $result = array(); for($i=0; $i $max_len; $i++){ $tmp = array(); foreach($keys as $k= $v){ if(isset($arrs[$k][$i])){ $tmp[$v] = $arrs[$k][$i]; } $result[] = $tmp; } return $result;}?1.多個一維數組合拼為二維數組
?php$arr1 = array( fdipzone , terry , alex $arr2 = array(18, 19, 20);$arr3 = array( programmer , designer , tester $keys = array( name , age , profession $result = array_merge_more($keys, $arr1, $arr2, $arr3);print_r($result);?
輸出:
Array( [0] = Array [name] = fdipzone [age] = 18 [profession] = programmer [1] = Array [name] = terry [age] = 19 [profession] = designer [2] = Array [name] = alex [age] = 20 [profession] = tester)2.多個二維數組抽取部分數據合拼為二維數組
?php$arr1 = array( array( name = fdipzone ), array( name = terry ), array( name = alex ),);$arr2 = array( array( age = 18), array( age = 19), array( age = 20),);$arr3 = array( array( profession = programmer ), array( profession = designer ), array( profession = tester ),);$arr1 = array_column($arr1, name $arr2 = array_column($arr2, age $arr3 = array_column($arr3, profession $keys = array( name , age , profession $result = array_merge_more($keys, $arr1, $arr2, $arr3);print_r($result);?
輸出:
Array( [0] = Array [name] = fdipzone [age] = 18 [profession] = programmer [1] = Array [name] = terry [age] = 19 [profession] = designer [2] = Array [name] = alex [age] = 20 [profession] = tester)
本文講解了php 多個一維數組合拼成二維數組的方法,更多相關內容請關注php 。
相關推薦:
php 返回數組中指定多列的方法
mysql secure-file-priv選項問題的解決方法
php 利用debug_backtrace方法跟蹤代碼調用
以上就是php 多個一維數組合拼成二維數組的方法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答