删除数组的第一个元素并合并其余元素

10

我有一个像这样的数组:

[0]=>array( [cname] => ABC
            [12] => 60.7500
            [13] => 33.7500
            [14] => 47.7500
            [15] => 86.0000
            [16] => 62.2500
            [17] => 59.5000
            [18] => 78.0000
            [19] => 42.7500
            [20] => 36.0000
            [21] => 40.0000
            [22] => 40.0000
            [23] => 24.0000
    )
)

现在,我需要将cname打印在一个字段中,然后在下一个字段中使用implode函数打印其数据。它可以正常工作。但是,当我使用implode函数时,它也会输出公司名称,而我不希望这样。

期望结果:

Name: ABC
Data: 60.7500, 33.7500, 47.7500 ....

如何在使用implode函数时跳过第一个元素?


2
你为什么要使用这样的数组呢?为什么不使用多维数组 array('name' => 'ABC', data => array(...)) 呢? - Barmar
因为我需要在highcharts中显示数据,所以必须有这样的数组格式。 - RK.
什么是CNAME?看起来像常量。 - MikeWu
6
将数组 $array 中从第二个元素开始的所有元素用逗号和空格连接起来,可以使用以下代码:implode(', ', array_slice($array, 1)) - Darren
4个回答

15

只需复制数组,然后在调用implode之前删除cname属性。

$copy = $arr;
unset($copy['cname']);
implode($copy);

这是因为在 PHP 中,数组赋值会进行拷贝操作。(有点奇怪,但它可以用。)

这个结论的原因是,在 PHP 中,数组赋值是进行拷贝操作的。


我知道这是老问题,但现在遇到了,并且想知道哪个解决方案更有效或更干净,您的还是@Darren在上面的评论中建议的implode(',',array_slice($ array,1)) - Dim13i

6
使用 array_shift 后跟 implode
$array = YOUR_ORIGINAL_ARRAY;

$cname = array_shift($array);
$string = implode(',', $array);

3

请尝试以下方法:

$removedElementValue = array_shift($yourArray);
$implodedArray = implode(',', $yourArray);

2

由于并非所有的观众都会阅读评论,因此这里是我从@darren中得出的最佳答案:

implode(', ', array_slice($array, 1))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接