基本内爆 foreach
Posted
技术标签:
【中文标题】基本内爆 foreach【英文标题】:Basic implode foreach 【发布时间】:2012-04-15 07:32:33 【问题描述】:我有以下代码,我想回显以逗号分隔的数组元素。代码输出 disered 列表,但没有逗号。我错过了什么?
<?php
$array = get_field('casts');
$elements = $array;
foreach($array as $key => $value)
echo implode(', ', $value);
?>
编辑 1: 其中$elements
是嵌套数组。
编辑 2: 工作 sn-p:
<?php
$array = get_field('casts');
$new_array = array();
foreach($array as $sub_array)
foreach($sub_array as $value)
array_push($new_array, $value);
echo implode(", ", $new_array);
?>
【问题讨论】:
如果$value
只包含1 个元素,implode()
将不会有任何效果。
你能发一个var_dump
的$array吗?
【参考方案1】:
你为什么分配$elements = $array;
,然后从不使用$elements
?
您也不需要循环 (foreach
) 来内爆数组。
试试这个:
<?php
$array = get_field('casts');
$new_array = array();
foreach($array as $sub_array)
foreach($sub_array as $value)
// this array_push() function adds $value to the end of $new_array.
array_push($new_array, $value);
echo implode(", ", $new_array);
?>
这是implode()
上的文档
你可以试一试上面的代码here。
同样下次添加标签php
,否则我们的代码不会得到颜色语法。
【讨论】:
对不起,我忘了提到 $elements 是嵌套数组。你的回答给了我 Array,Array,Array... @elbatron 你能做print_r($array);
并告诉我你(编辑的)问题的输出吗?了解$array
的实际值将帮助我更好地理解您的问题。如果它太长,那么就给我前几个元素。谢谢。
Array ([0] => Array ([actor] => Natalie Portman) [1] => Array ([actor] => Vincent Cassel) [2] => Array ([actor] => 米拉库尼斯 ))
大声抱歉,我忘记了;
在array_push(...)
的行中
@elbatron 删除 new
关键字。这应该可以解决问题。以上是关于基本内爆 foreach的主要内容,如果未能解决你的问题,请参考以下文章