2014-02-11 186 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