web-dev-qa-db-ja.com

配列値を実装しますか?

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

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 ', '
11
qwerty

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

$values = array_map('array_pop', $array);
$imploded = implode(',', $values);
25
Radek Benkel

In PHP 5> = 5.5.0

implode(', ', array_column($array, 'name'))
21
Oleg Matei

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

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

echo implode(', ', array_map('get_name', $array));
18
BoltClock