web-dev-qa-db-ja.com

Laravel配列から文字列への変換

配列をコンマ区切りの文字列に変換したい。

私の配列

array:2 [
  0 => array:1 [
    "name" => "streaming"
  ]
  1 => array:1 [
    "name" => "ladies bag"
  ]
]

streaming,ladies bagの結果が欲しい

6
Beffing

これらはLaravelコレクションが配列に変換されたように見えるため、組み込みのimplode()メソッドを使用することをお勧めします。

ドキュメントによると:

_$collection = collect([
    ['account_id' => 1, 'product' => 'Desk'],
    ['account_id' => 2, 'product' => 'Chair'],
]);

$collection->implode('product', ', ');

// Desk, Chair
_

リファレンス: https://laravel.com/docs/master/collections#method-implode

ただし、それらが通常の配列であり、単一の配列ではないため、PHPの通常のarray_column()関数を実行する前に、foreachを記述するか、implode()でフラット化する必要があります。

8
Joel Hinz

foreachループを2回使用して配列を分離し、substrを使用して最後の文字を削除します

$string = '';

foreach($your_array as $a)
{    
    foreach($a as $b=>$c)
    {
        $string .= $c.',';
    }
}

$solution = substr($string,0,-1);

print_r($solution);
1
Nishant Sharma

Uは単純なforeachを試み、すべての反復の後にコンマ値を追加できます。

 $string='';
 foreach ($your_array as $value){
    $string .=  $value.',';
 }
1
Raul H