2016-06-25 6 views
0

上のループ私はこのような文があります。Laravel - 配列

result: 
0:{ 
    commentContent:"foo" 
} 
1:{ 
    commentContent:"bar" 
} 

を私はcommentContentに結果配列の数を追加したいです。ここで私が何をしたいです:

result: 
0:{ 
    commentContent:"foo0" 
} 
1:{ 
    commentContent:"bar1" 
} 

この瞬間、ここに私がしているである:(文字通り、それは正しくないのです)

$commentList[0]['commentContent'] = $commentList[0]['commentContent']+'0'; 
$commentList[1]['commentContent'] = $commentList[1]['commentContent']+'1'; 

のforeachとLaravelコントローラでこれを行うには?

答えて

0

あなたが使用する必要があります(ドット)PHPで連結する:。

$commentList[0]['commentContent'] = $commentList[0]['commentContent'].'0'; 
$commentList[1]['commentContent'] = $commentList[1]['commentContent'].'1'; 

OR

$commentList[0]['commentContent'] .= '0'; 
$commentList[1]['commentContent'] .= '1'; 

foreachループの使用:

foreach ($comment_list as $key=>$val) { 
    $comment_list[$key]['commentContent'] = $val['commentContent'] . $key; 
} 
+0

私はforeachのまたはのためにそれを作成します。 – AFN

0

使用通常のforeachとの鍵を追加します文字列

foreach ($commentList as $k => &$i) 
    $i['commentContent'] = $i['commentContent'] . $k; 
0

このチェック:

$result = [ 
      0 => [ 
       'commentContent' => 'foo' 
      ], 
      1 => [ 
       'commentContent' => 'bar' 
      ] 
     ]; 

     foreach ($result as $index => &$array) { 
      foreach ($array as &$value) { 
       $value .= $index; 
      } 
     } 
     var_dump($result); 

これを印刷します:

array (size=2) 
    0 => 
    array (size=1) 
     'commentContent' => string 'foo0' (length=4) 
    1 => & 
    array (size=1) 
     'commentContent' => &string 'bar1' (length=4) 

・ホープ、このことができます。

0

私は、よりクリーンなアプローチは、laravelのコレクションを使用して行うことだと思います。

$result = [ 
    0 => [ 
     'commentContent' => 'foo' 
    ], 
    1 => [ 
     'commentContent' => 'bar' 
    ] 
]; 

$updatedResult = collect($result)->map(function ($value, $key) { 
    return $value['commentContent'] . $key; 
}); 

詳細については、ドキュメントを参照してください。

https://laravel.com/docs/5.2/collections