从给定数组创建特定数组

时间:2016-07-22 14:16:20

标签: php arrays laravel blade

您好我需要帮助从这个数组中提取数组:

array (size=3)
  0 => 
    array (size=2)
      'id' => string '1' (length=1)
      'name' => string 'Casablanca' (length=10)
  1 => 
    array (size=2)
      'id' => string '2' (length=1)
      'name' => string 'El Jadida' (length=9)
  2 => 
    array (size=2)
      'id' => string '3' (length=1)
      'name' => string 'Fes' (length=3)

我正在使用刀片形式选择:

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S');

所以要使用我的数组,我必须使用与laravel一样的形式:

array(
    '1' => 'Casablanca',
    '2' => 'El Jadida',
    '3' => 'Fes'
)

2 个答案:

答案 0 :(得分:0)

我不知道框架部分,但这应该可以解决问题:

// oldA = your array from the question
$newA = array();
foreach($oldA as $v){
    $newA[$v['id']] = $v['name'];
}

输出:

Array
(
    [1] => Casablanca
    [2] => El Jadida
    [3] => Fes
)

请参阅操作中的代码here

答案 1 :(得分:0)

使用循环是完全正常的,但是如果你想在一行代码中完成它,你可以使用array_combine()和array_column():

$arr = array_combine(array_column($arr, 'id'), array_column($arr, 'name'));