qwe*_*rty 10 php loops implode multidimensional-array
所以,我有一个像这样的数组:
Array
(
[0] => Array
(
[name] => Something
)
[1] => Array
(
[name] => Something else
)
[2] => Array
(
[name] => Something else....
)
)
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法将值插入字符串,如下所示:
echo implode(', ', $array[index]['name']) // result: Something, Something else, Something else...
Run Code Online (Sandbox Code Playgroud)
不使用循环来连接值,如下所示:
foreach ($array as $key => $val) {
$string .= ', ' . $val;
}
$string = substr($string, 0, -2); // Needed to cut of the last ', '
Run Code Online (Sandbox Code Playgroud)
Rad*_*kel 24
最简单的方法,当内部数组中只有一个项目时:
$values = array_map('array_pop', $array);
$imploded = implode(',', $values);
Run Code Online (Sandbox Code Playgroud)
Ole*_*tei 21
在PHP 5> = 5.5.0
implode(', ', array_column($array, 'name'))
Run Code Online (Sandbox Code Playgroud)
Bol*_*ock 18
你可以使用一个常见的array_map()
技巧来"展平"多维数组,然后"展implode()
平"结果,但内部PHP仍会在你调用时循环遍历你的数组array_map()
.
function get_name($i) {
return $i['name'];
}
echo implode(', ', array_map('get_name', $array));
Run Code Online (Sandbox Code Playgroud)