从二维阵列到一维阵列?

时间:2011-03-27 14:17:13

标签: php arrays multidimensional-array fuelphp

嘿 我正在使用FuelPHP,并且这样做......

$query =
  \DB::select( 'username' )
    ->from( 'users' )
    ->execute()
    ->as_array();

我正在获得如下所示的阵列。

Array
(
  [0] => Array
  (
    [username] => daGrevis
  )

  [1] => Array
  (
    [username] => whatever
  )

  [2] => Array
  (
    [username] => foobar
  )

)

这绝对不是我需要的。这是我的“理想阵列”的例子:

Array
(
  [0] => daGrevis
  [1] => whatever
  [2] => foobar
)

那么我怎样才能获得“理想阵列”?也许我在查询中做错了...如果不...我怎样才能将数组#1转换为数组#2?使用循环可能吗?还是有内置功能?我很困惑。

3 个答案:

答案 0 :(得分:11)

您可以使用Fuel本地执行此操作:

$query = \DB::select( 'username' )
           ->from( 'users' )
           ->execute()
           ->as_array(null, 'username');

这将完全返回您想要的内容。

答案 1 :(得分:4)

是的,foreach循环应该可以解决问题:

$new_array = array();
foreach($query as $result_num => $sub_array)
{
    $new_array[$result_num] = $sub_array[username];
}

答案 2 :(得分:2)

做一个foreach循环来转换它,如下所示:

$arr2 = array();
foreach ($arr1 as &$value) {
array_push($arr2, $value[username]);
}