11

だから、私はこのような配列を持っています:

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 ', '
4

3 に答える 3

26

最も簡単な方法は、内部配列にアイテムが1つしかない場合です。

$values = array_map('array_pop', $array);
$imploded = implode(',', $values);
于 2011-01-31T18:25:12.470 に答える
23

PHP5の場合>=5.5.0

implode(', ', array_column($array, 'name'))
于 2015-04-10T09:39:45.157 に答える
18

array_map()一般的なトリックを使用して、多次元配列を「フラット化」してから「フラット化」されたimplode()結果を得ることができますが、内部的には、を呼び出すとPHPが配列をループしますarray_map()

function get_name($i) {
    return $i['name'];
}

echo implode(', ', array_map('get_name', $array));
于 2011-01-31T18:24:58.610 に答える