1. ホーム
  2. php

[解決済み] 多次元配列から1列を返す

2023-05-26 15:22:16

質問

私はPHPの初心者です。以下の問題に対する迅速な解決策が必要なのですが、なかなか思いつきません。

私は以下のような多次元配列を持っています。

Array
(
    [0] => Array
        (
            [blogTags_id] => 1
            [tag_name] => google
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )

    [1] => Array
        (
            [blogTags_id] => 2
            [tag_name] => technology
            [inserted_on] => 2013-05-22 09:51:34
            [inserted_by] => 2
        )
)

を使いたいのですが implode() の値を含むカンマで区切られた文字列を返すようにしたい。 tag_name のキーを含むカンマ区切りの文字列を返すようにします。

google, technology

この効果を前述の関数で実現することは可能でしょうか?もし不可能であれば、別の解決策を提案してください。

どのように解決するのですか?

非常に簡単です。

$input = array(
  array(
    'tag_name' => 'google'
  ),
  array(
    'tag_name' => 'technology'
  )
);

echo implode(', ', array_map(function ($entry) {
  return $entry['tag_name'];
}, $input));

http://3v4l.org/ltBZ0


と php v5.5.0 の新機能です。 array_column :

echo implode(', ', array_column($input, 'tag_name'));