Php 将返回多个一维数组的函数更改为返回一个一维数组的函数

Php 将返回多个一维数组的函数更改为返回一个一维数组的函数,php,arrays,Php,Arrays,我正在构建一个函数,我想从db中检索键/值对,它类似于$result=array($key=>$value)createFormBuilder()->add('sectoption','choice',array('choices'=>$result',multiple'=>false',expanded'=>false',required'=>true',label'=>Select a section')->getForm();$createview=$form->createview();

我正在构建一个函数,我想从db中检索键/值对,它类似于
$result=array($key=>$value)$result

function Foo($result) { array ('superkey'=>$result); }
这考虑到$result包含多个如下数组:

Array
(
    [key1] => value1
)
Array
(
    [key3] => value2
)
Array
(
    [key3] => value3
)
Array
(
    [key4] => value4
)
foreach($result as $entry) $fixedresult[] = $entry['samekey'];
<>但是我想把它看成是一个数组:

Array
(
    [key1] => value1

    [key3] => value2

    [key3] => value3

    [key4] => value4
)
有人能帮我吗?

使用:


从数据库检索值时,它通常会发送多维数组,如:

array(3) {
  [0]=> array(1) { ["samekey"]=> value1 }
  [1]=> array(1) { ["samekey"]=> value2 }
  [2]=> array(1) { ["samekey"]=> value3 }
}
这些数组的键总是相同的,因为它们表示数据库中的列名。在我看来,您似乎在寻找一种将所有这些值编译成单个数组的方法。要做到这一点,您需要忘记密钥,并使用类似以下内容:

foreach($result as $entry) $fixedresult[] = $entry['samekey'];

好的,如果您想在多个数组上使用
array\u merge
,但您还不知道会有多少个,您可以执行以下操作:

call_user_func_array('array_merge', $result);

尽管正如其他人指出的那样,
$result
中包含的数组具有相同的键时,这将立即中断。

您不能有多个具有相同键值的数组元素。您可以提供从db获得的确切数据吗?在Symfony framework项目中,以及我的带有数据库元素的select标记:$form=$this->createFormBuilder()->add('sectoption','choice',array('choices'=>$result',multiple'=>false',expanded'=>false',required'=>true',label'=>Select a section')->getForm();$createview=$form->createview();或者,使用
array_-map(函数($entry){return$entry['samekey'];},$result)
你这里说的“samekey”是什么意思?我希望你使用我在讨论中使用的关键字,我想问一下,这会返回我期望得到的结果吗?我没有访问这些数组,我在函数返回时有它们,但我刚刚插入了$result=array($key=>$value),因为我不知道从数据库中得到哪个结果!所以我不能使用array\u merge,因为我一开始还没有这些数组!