数组
Array
(
[0] => Array
(
[Detail] => Array
(
[detail_id] => 1
)
)
[1] => Array
(
[Detail] => Array
(
[detail_id] => 4
)
)
)
是否可以在上面的数组中使用implode函数,因为我想要使detail_id
内爆1,4
。
我知道foreach并附加数组值是可能的, 但想知道这是由implode函数还是PHP中的任何其他内置函数完成的
答案 0 :(得分:3)
使用join()
:
echo join(',', array_map(function ($i) { return $i['Detail']['detail_id']; }, $array));
答案 1 :(得分:2)
如果你需要使用某种逻辑 - 那么你需要array_reduce
$result = array_reduce($arr, function($a, $b) {
$result = $b['Detail']['detail_id'];
if (!is_null($a)) {
$result = $a . ',' . $result;
}
return $result;
});
PS:对于php< = 5.3,你需要为那个
创建一个单独的回调函数答案 2 :(得分:2)
请检查这个答案。
$b = array_map(function($item) { return $item['Detail']['detail_id']; }, $test);
echo implode(",",$b);
答案 3 :(得分:0)
<?php
$array = array(
array('Detail' => array('detail_id' => 1)),
array('Detail' => array('detail_id' => 4)),);
$newarray = array();
foreach($array as $items) {
foreach($items as $details) {
$newarray[] = $details['detail_id'];
}
}
echo implode(', ', $newarray);
?>