内爆数组值

时间:2012-03-30 04:46:36

标签: php arrays

数组

Array
(
    [0] => Array
    (
        [Detail] => Array
        (
            [detail_id] => 1
        )

    )

    [1] => Array
    (
        [Detail] => Array
        (
            [detail_id] => 4
        )

    )

)

是否可以在上面的数组中使用implode函数,因为我想要使detail_id内爆1,4

我知道foreach并附加数组值是可能的,     但想知道这是由implode函数还是PHP中的任何其他内置函数完成的

4 个答案:

答案 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);

?>