2014-02-06 62 views
-1
数组

我是从数据库中提取的阵列,它看起来像这样:格式化在PHP

Array 
(
    [0] => Array 
     (
      [tracker_id] => 28 
      [tracking_numbers] => hdkshwuy47937892hd 
     ) 

    [1] => Array 
     (
      [tracker_id] => 28 
      [tracking_numbers] => 797825464411 
     ) 

) 

我需要重新格式化它看起来像这样:

Array 
(
    [0] => Array 
     (
      [tracker_id] => 28 
      [tracking_numbers] => Array 
       (
        [0] => hdkshwuy47937892hd 
        [1] => 797825464411 
       ) 
     ) 

) 

我可以” t似乎在数组或键中找到正确的搜索,为单个跟踪器ID创建一个数字数组。

回答

0

试试这个

$arr_output = array(); 
foreach($arr_input as $arr) 
{ 
    $tracker_id = $arr['tracker_id']; 
    $tracking_numbers = $arr['tracking_numbers']; 

    $arr_output[$traker_id][] = $tracking_numbers; 
} 

print_r($arr_output); 

更新2:

$arr_output = array(); 
$arr_output1 = array(); 
foreach($arr_input as $arr) 
{ 
    $tracker_id = $arr['tracker_id']; 
    $tracking_numbers = $arr['tracking_numbers']; 

    $arr_output[$traker_id][] = $tracking_numbers; 
} 
$i=0; 
foreach($arr_output as $key=>$value) 
{ 
    $arr_output1[$i]['tracker_id']=$key 
    $arr_output1[$i]['tracking_numbers']=$value 
    $i+=1; 
} 

print_r($arr_output1); 
+0

差不多。但是,这将数组键设置为tracker_id,这不太正确。让我试试你的更新。 –

+0

@VinceKronlein你有没有试过我的更新 –

2

使用array_column()为< PHP V5.5

<?php 
    $a=array 
    (array 
     ('tracker_id' => 28, 
       'tracking_numbers'=> "hdkshwuy47937892hd" 
      ), 

     array('tracker_id' => 28, 
       'tracking_numbers' => "797825464411", 
      )); 

    $a[0]['tracking_numbers']=array_column($a,"tracking_numbers"); 
    unset($a[1]); 
    print_r($a); 

Demo

+0

+1代码! –

+0

可悲的是我的客户端上的服务器不是5.5 –