2014-02-11 187 views
0

所以我遍历这个$ elements数组。我试图从$ elements数组中的每个单独项获取键和值,这也是一个数组(我将调用$元素)。试图从一个数组的两个值创建一个数组

这里是我的代码:

$options = array(); 
    foreach ($elements as $element) { 
    if ($element['#active']) { 
     continue; 
    } 


    $options[$element]['#query'] = $element['#indexed_value']; 



    } 

这是行不通的。我如何获得$ element ['#query']和$ element ['indexed_value']的值作为key =>值对?

+0

'$选项[$元件[ '#查询']] = ...' – Wrikken

+0

你能提供阵列的样品你正在迭代,并获得预期结果的样本? – Armin

+0

乍一看,您使用'$ element'作为*数组*和*作为数组键*。不管你的脚本在做什么,不起作用。 –

回答

1

试试这个

$options[$element['#query']] = $element['#indexed_value']; 

我执行下面的代码

$options["junaid"] = "hassan"; 
echo print_r($options, true); 

得到以下结果

Array 
(
    [junaid] => hassan 
) 
+0

我也试过,也没有运气... –

+0

它给了我,“数组()”,当我print_r($ options,true); –

+0

你是否回应$ element ['#query']和$ element ['#indexed_value']?他们有什么价值? – Hassan

0

嗯,如果我理解这个问题:

$elements = array(array('a' => 1, 'b' => 2, 'c' =>3), array('d' =>4, 'e' =>5,'f' =>6)); 
$options = array(); 
$temp = array(); 
$temp2 = array(); 

//value is each array in $elements 
foreach ($elements as $element) {  
    $temp = array_merge($temp, array_keys($element)); 
    $temp2 = array_merge($temp2, array_values($element)); 
} 
$options = array_combine($temp, $temp2); 
var_dump($options); 

和它产生以下输出:

array(6) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) ["f"]=> int(6) } 

我用这个website