Laravel / PHP从数组创建一个数组

时间:2014-07-18 16:28:09

标签: php arrays laravel-4

嘿伙计们,我对如何使用预先存在的数组中的特定键创建数组感到困惑。

Laravel控制器

public function index()
{
    $content = Page::find(1)->content->toArray();

    return View::make('frontend.services', compact('content'));
}

$content是一个类似于

的数组
array ( 
    0 => array ( 
        'id' => '1', 
        'page_id' => '1', 
        'name' => 'banner_heading', 
        'content' => 'some content', ), 
    1 => array ( 
        'id' => '2', 
        'page_id' => '1', 
        'name' => 'banner_text', 
        'content' => 'some other content' )
)

我希望它重新创建这个数组看起来像这样

array ( 
    0 => array ( 
        'banner_heading' => 'some content' 
    ), 
    1 => array (  
        'banner_text' => 'some other content' 
    )
)

如何将键namecontent移动到与数组中的单行相等的值?

我非常感谢任何建议。

3 个答案:

答案 0 :(得分:3)

PHP> = 5.5.0:

$result = array_column($content, 'content', 'name');

PHP< 5.5.0:

foreach($content as $key => $array) {
    $result[$key] = array($array['name'] => $array['content']);
}

答案 1 :(得分:1)

你的意思是

$newContent = array();
foreach ($content as $record) {
    $newContent[] = array($record['name'] => $record['content']);
} 

答案 2 :(得分:0)

我不了解Laravel,但我相信你的解决方案应该与此类似:

$newArray= array(); 
foreach($content as $key => $value)
{ 
   $newArray[] = $value["banner_heading"];
} 
return View::make('frontend.services', compact('newArray'));

或者至少它应该与此相似。