如何在php中组合一个数组

时间:2015-05-29 07:14:17

标签: php

How to my array combine :
$visitor_tracvking_data = json_encode($array);
print_r($visitor_tracvking_data);

输出print_r:

    array (size=6)
  0 => 
    array (size=2)
      'tracktitle' => string 'search_engine' (length=13)
      'direct' => string '261' (length=3)
  1 => 
    array (size=2)
      'tracktitle' => string 'search_engine' (length=13)
      'social_media' => string '3' (length=1)
  2 => 
    array (size=2)
      'tracktitle' => string 'search_engine' (length=13)
      'search' => string '3' (length=1)
  3 => 
    array (size=2)
      'tracktitle' => string 'browser' (length=7)
      'chrome' => string '168' (length=3)
  4 => 
    array (size=2)
      'tracktitle' => string 'browser' (length=7)
      'firefox' => string '68' (length=2)
  5 => 
    array (size=2)
      'tracktitle' => string 'browser' (length=7)
      'netscape' => string '31' (length=2)

如何输出此类型: -

array (size=2)
  0 => 
    array (size=2)
      'tracktitle' => string 'search_engine' (length=13)
      'direct' => string '261' (length=3)
      'social_media' => string '3' (length=1)
      'search' => string '3' (length=1)
  1 => 
    array (size=2)
      'tracktitle' => string 'browser' (length=7)
      'chrome' => string '168' (length=3)
      'firefox' => string '68' (length=2)
      'netscape' => string '31' (length=2)

1 个答案:

答案 0 :(得分:0)

只需遍历数组并使用tracktitle键生成一个新数组 -

$new = array();

foreach($array as $key_top => $value) {
    foreach($value as $key => $val) {
        $new[$value['tracktitle']][$key] = $val;
    }
}

return $new;

对于json编码的字符串 -

return json_encode($new);