所以,我有一个像这样的数组:
Array
(
[0] => Array
(
[name] => Something
)
[1] => Array
(
[name] => Something else
)
[2] => Array
(
[name] => Something else....
)
)
是否有一种将值插入字符串的简单方法,如下所示:
echo implode(', ', $array[index]['name']) // result: Something, Something else, Something else...
没有使用循环来连接值,如下所示:
foreach ($array as $key => $val) {
$string .= ', ' . $val;
}
$string = substr($string, 0, -2); // Needed to cut of the last ', '
答案 0 :(得分:24)
最简单的方法,当你在内部数组中只有一个项目时:
$values = array_map('array_pop', $array);
$imploded = implode(',', $values);
答案 1 :(得分:18)
您可以使用常见的array_map()
技巧“展平”多维数组,然后implode()
“展平”结果,但在调用array_map()
时,PHP内部仍会循环遍历您的数组。
function get_name($i) {
return $i['name'];
}
echo implode(', ', array_map('get_name', $array));
答案 2 :(得分:18)
在PHP 5> = 5.5.0
中implode(', ', array_column($array, 'name'))