多维数组合并问题

如何将如下数组张换乘长度为4的一维数组

array(2) {
  [0]=>
  array(9) {
    ["user_name"]=>
    string(9) "abc"
    ["user_id"]=>
    string(18) "115841106995855361"
    ["product"]=>
    string(12) "kd"
    ["apply_no"]=>
    string(17) "KD026201710310141"
    ["overdue_total"]=>
    int(1086709)
    ["credit_date"]=>
    NULL
    ["household_address"]=>
    string(0) ""
    ["home_address"]=>
    string(57) "云南省|昆明市|昆明市沿河路金碧苑8单元101"
    ["company_address"]=>
    string(0) ""
  }
  [1]=>
  array(3) {
    [0]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(12) "kd"
      ["apply_no"]=>
      string(17) "KD012201711010042"
      ["overdue_total"]=>
      int(322821)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
    [1]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(12) "yd"
      ["apply_no"]=>
      string(18) "XJD012201711010034"
      ["overdue_total"]=>
      int(87746)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
    [2]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(9) "sfq"
      ["apply_no"]=>
      string(18) "XJD012201711010034"
      ["overdue_total"]=>
      int(87746)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
  }
}

转换成如下:

array(2) {
  [0]=>
  array(9) {
    ["user_name"]=>
    string(9) "abc"
    ["user_id"]=>
    string(18) "115841106995855361"
    ["product"]=>
    string(12) "kd"
    ["apply_no"]=>
    string(17) "KD026201710310141"
    ["overdue_total"]=>
    int(1086709)
    ["credit_date"]=>
    NULL
    ["household_address"]=>
    string(0) ""
    ["home_address"]=>
    string(57) "云南省|昆明市|昆明市沿河路金碧苑8单元101"
    ["company_address"]=>
    string(0) ""
  }
  [1]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(12) "kd"
      ["apply_no"]=>
      string(17) "KD012201711010042"
      ["overdue_total"]=>
      int(322821)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
    [2]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(12) "yd"
      ["apply_no"]=>
      string(18) "XJD012201711010034"
      ["overdue_total"]=>
      int(87746)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
    [3]=>
    array(9) {
      ["user_name"]=>
      string(9) "bbb"
      ["user_id"]=>
      string(18) "115920576776257539"
      ["product"]=>
      string(9) "sfq"
      ["apply_no"]=>
      string(18) "XJD012201711010034"
      ["overdue_total"]=>
      int(87746)
      ["credit_date"]=>
      NULL
      ["household_address"]=>
      string(0) ""
      ["home_address"]=>
      string(50) "辽宁省|大连市|沙河口区中山路716号203"
      ["company_address"]=>
      string(0) ""
    }
}
阅读 2.3k
2 个回答
$newArr = []; 
foreach ($res as $key => $value) {
    if (array_keys($value) == range(0, count($value) - 1)) {
        $newArr = array_merge(array_values($value),$newArr);
    }else{
        $newArr[]=  $value;
    }
}

print_r($newArr);

$b = array();
for($i = 0 ; $i < count($a) ; $i++){
    foreach($a[$i] as $key=>$value){
        if(!is_array($value)){
            array_push($b,$a[$i]);
            break;
        }else{
            array_push($b,$value);
        }
    }
}
var_dump($b);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题