0

複数のオブジェクトを持つ PHP 配列があります。特定のキーの値をコンマで区切られた 1 つの文字列に結合しようとしています。var_dump からの出力:

Array
(
    [0] => stdClass Object
        (
            [tag_id] => 111
            [tag_name] => thing 1
            [tag_link] => url_1
        )

    [1] => stdClass Object
        (
            [tag_id] => 663
            [tag_name] => thing 2
            [tag_link] => url_2
        )

)

文字列は $string = 'thing 1,thing 2' である必要があります。foreach ループを使用してみましたが、完全にスタックしています。誰か助けてくれませんか?

4

4 に答える 4

4

上記の答えは少し軽いですが、foreach代わりにループとして実行することもできます。

$names = array();
foreach ($array as $k => $v) {
    $names[] = $v->tag_name;
}
$string = implode(',', $names);
于 2013-03-10T21:07:40.543 に答える
0

このようにしてみてください

$string = $array[0]->tag_name.','.$array[1]->tag_name;

その他の要素について

 $string = '';
 foreach($array as $object) $string.=$object->tag_name.',';
 $string = substr($string,0,-1);
于 2013-03-10T21:03:18.107 に答える
0
$output = '';
foreach($test as $t){
    $output .= $t->tag_name . ',';
}
$output = substr($output, 0, -1);
echo $output;
于 2013-03-10T21:07:58.420 に答える
0

次のようなものを使用します。

implode(',', array_map(function ($el) {
    return $el->tag_name;
}, $array));
于 2013-03-11T14:28:23.433 に答える