内爆一个没有第一个元素的数组
Posted
技术标签:
【中文标题】内爆一个没有第一个元素的数组【英文标题】:Implode an array without first element 【发布时间】:2015-03-25 16:30:07 【问题描述】:我有一个这样的数组:
[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
函数打印其数据。它工作正常。但是当我内爆它时,它也给出了公司名称,这是我不想要的。
期望的结果:
Name: ABC
Data: 60.7500, 33.7500, 47.7500 ....
如何使用 implode 跳过第一个元素?
【问题讨论】:
一开始为什么会有这样的数组?为什么不是多维array('name' => 'ABC', data => array(...))
?
因为我必须在highcharts中显示数据,所以必须有这样的数组格式。
什么是cname?看起来像常数。
implode(', ', array_slice($array, 1))
?
【参考方案1】:
只需复制数组,然后在调用implode
之前删除cname
属性。
$copy = $arr;
unset($copy['cname']);
implode($copy);
这是有效的,因为在 php 中,array assignment copies。 (有点奇怪,但确实有效。)
【讨论】:
我知道这已经过时了,但我想知道哪个解决方案更有效或更干净,你的或@Darren 在上面的 cmets 中建议的内容(问题的 cmets):implode(', ', array_slice($array, 1))
?【参考方案2】:
使用array_shift
,后跟implode
。
$array = YOUR_ORIGINAL_ARRAY;
$cname = array_shift($array);
$string = implode(',', $array);
【讨论】:
【参考方案3】:尝试以下方法:
$removedElementValue = array_shift($yourArray);
$implodedArray = implode(',', $yourArray);
【讨论】:
【参考方案4】:由于并非所有观众都在阅读 cmets,因此这里是 @darren 的最佳答案:
implode(', ', array_slice($array, 1))
【讨论】:
以上是关于内爆一个没有第一个元素的数组的主要内容,如果未能解决你的问题,请参考以下文章