求解數組合并

來源:互聯網
上載者:User
Array ( [59] =>aa [17] => bb [18] =>cc [69] => dd [21] =>ee [22] => ss [23] => Array ( [0] => 1a[1] =>2a[2] => 3a [3] =>4a [4] => 55 ) [24] =>vv [26] => va [43] => Array ( [0] => 道 [1] =>向 [2] => 圾 [3] => 燈 [4] => 速 [5] => 燈 [6] => 則 ) [53] => 元 [54] => 995 )[1]=>Array ( [59] =>aa [17] => bb [18] =>cc [69] => dd [21] =>ee [22] => ss [23] => Array ( [0] => 1a[1] =>2a[2] => 3a [3] =>4a [4] => 55 ) [24] =>vv [26] => va [43] => Array ( [0] => 道 [1] =>向 [2] => 圾 [3] => 燈 [4] => 速 [5] => 燈 [6] => 則 ) [53] => 元 [54] => 995 )
如何將最後一維合并?
是用foreach遍曆時合并嗎?如果資料多了會不會卡住?


回複討論(解決方案)

你所謂的合并是什麼意思呢?哪個合并到哪個?

你所謂的合并是什麼意思呢?哪個合并到哪個?


Array ( [59] =>aa [17] => bb [18] =>cc [69] => dd [21] =>ee [22] => ss [23] => Array ( [0] => 1a[1] =>2a[2] => 3a [3] =>4a [4] => 55 ) [24] =>vv [26] => va [43] => Array ( [0] => 道 [1] =>向 [2] => 圾 [3] => 燈 [4] => 速 [5] => 燈 [6] => 則 ) [53] => 元 [54] => 995 )[1]=>Array ( [59] =>aa [17] => bb [18] =>cc [69] => dd [21] =>ee [22] => ss [23] => Array ( [0] => 1a[1] =>2a[2] => 3a [3] =>4a [4] => 55 ) [24] =>vv [26] => va [43] => Array ( [0] => 道 [1] =>向 [2] => 圾 [3] => 燈 [4] => 速 [5] => 燈 [6] => 則 ) [53] => 元 [54] => 995 )
合并成例如[23]=>2a,3a,4a,55..........

foreach($arr as $k=>$v){        if(is_array($v)) $arr[$k] = implode(',', $v);}print_r($arr);

foreach($arr as $k=>$v){        if(is_array($v)) $arr[$k] = implode(',', $v);}print_r($arr);


如果是三維數組合并第三維是不是這樣
foreach($arr as $k=>$v){foeach($v as $key=>$val){        if(is_array($val)) $v[$key] = implode(',', $val);}}

不一定,需判斷 $v 是數組後,方可進入 foeach($v as ...

$v[$key] = implode(',', $val);
改為:
$arr[$k][$key] = implode(',', $val);

且你需要判斷一下$v 是數組後才能遍曆$v , 否則會報錯。

不一定,需判斷 $v 是數組後,方可進入 foeach($v as ...


正如你所說我失敗了
array(
[0]=>
array([8]=>aa[9]=> array([77]=>bb[88]=>cc)合并成:bb,cc[10]=>44
)
.................
)
....................
最終實現轉成二維數組。。。然後匯出excel
最終數組練的讓我頭痛,還沒完全撐握

應該這樣寫

$a = array(  0 => array(    8 => 'aa',    9 => array(      77 => 'bb',      88 => 'cc',    ),    10 => 44,  ),);$a = dimension_reduction($a); //執行一次降一次維print_r($a);$a = dimension_reduction($a);print_r($a);//降維function dimension_reduction($ar) {  $flag = 1;  foreach($ar as $k=>$v) {    if(is_array($v)) {      $flag = 0;      $ar[$k] = dimension_reduction($v);    }  }  if($flag) return join(',', $ar);  return $ar;}
Array
(
[0] => Array
(
[8] => aa
[9] => bb,cc
[10] => 44
)

)
Array
(
[0] => aa,bb,cc,44
)
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.