简体   繁体   English

从二维阵列到一维阵列?

[英]From Two Dimensional Array To One Dimensional Array?

Hey, I'm using FuelPHP and doing like this... 嘿,我正在使用FuelPHP并且这样做......

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

I'm getting array as shown below. 我正在获得如下所示的阵列。

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

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

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

)

It's definitely not what I need. 这绝对不是我需要的。 Here's example of "ideal array" for me: 这是我的“理想阵列”的例子:

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

So how can I get "ideal array"? 那么我怎样才能获得“理想阵列”? Maybe I do something wrong in the query... if no... how can I convert array #1 to array #2? 也许我在查询中做错了...如果不...我怎样才能将数组#1转换为数组#2? Using loops maybe? 使用循环可能吗? Or there is built-in function? 还是有内置功能? I'm confused. 我糊涂了。

You can do this with Fuel natively: 您可以使用Fuel本地执行此操作:

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

This will return exactly what you want. 这将完全返回您想要的。

Yep, a foreach loop should do the trick: 是的,一个foreach循环应该可以做到这一点:

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

Do a foreach loop to convert it, something like this: 做一个foreach循环来转换它,如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM