繁体   English   中英

用PHP格式化数组

[英]Formatting an Array in 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
                )
        )

)

我似乎无法在数组或键中找到正确的搜索来为单个跟踪器ID创建数字数组。

对<PHP V5.5使用array_column()

 <?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);

演示版

尝试这个

$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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM