2016-05-17 209 views
1

我有一個空數組排序陣列

$stack = array(); 

現在我想填補它與在變量值我posted從一個form

$aV = $_POST['aValue']; 
$aP = $_POST['aPercent']; 

$bV = $_POST['bValue']; 
$bP = $_POST['bPercent']; 

$cV = $_POST['cValue']; 
$cP = $_POST['cPercent']; 

$dV = $_POST['dValue']; 
$dP = $_POST['dPercent']; 

另一個文件在得到了我想要的值put後,他們在stack陣列中。 並在最後我想call數組名稱/值

$stack[0].'<br />'.$stack[1].'<br />'.$stack[2].'<br />'.$stack[3]; 

問題是我不能fiure了我如何把它們排列在正確 我試圖像這樣

$stackA = array(); 
$stackB = array(); 
$stackC = array(); 
$stackD = array(); 


$stackA[$aP] = $aV; 
$stackB[$bP] = $bV; 
$stackC[$cP] = $cV; 
$stackD[$dP] = $dV; 

$arr3 = $stackA + $stackB + $stackC + $stackD; 

但與此問題是,它將取代密鑰(例如$arr3= 'blue' => 24將成爲[0] => 24我需要得到[0] => [blue] => 24因此,當我撥打$arr3[0]它會說blue 24,當[1] => [red] = 20我想第一個([0]到是最低的數字,在這種情況下是[red])我試過使用sort()函數。但在排序和name沒有對number

+0

不應該'$ AV = $ _ POST [ 'aPercent'];'是'$ AV = $ _ POST ['安勤];'?用'$ bP','$ bV'等等......? –

+0

哦,真是愚蠢。但是這不影響代碼。它只是一個愚蠢的錯字 –

+0

你知道如何解決這個問題@PeterDarmis?例如, –

回答

1

試試這個:

//Put values in a stack with number as keys 
$stack[$aV] = $aP; and so on for others. 

//Sort based on keys.(eg: 24, 20 in your case) 
$stack = ksort($stack, SORT_NUMERIC); 

// iterate and push all of them into $arr3 in the format you need. 
foreach($stack as $V => $P) { 
    $arr3[] = array($V => $P); 
} 

print_r($arr3); 
+0

OP爲什麼要「嘗試這個」?一個**好的答案**總是會解釋做了什麼以及爲什麼這樣做, 不僅適用於OP,而且適用於SO的未來訪問者,可能會發現此問題並正在閱讀您的答案。 – RiggsFolly

+0

@RiggsFolly認爲這是自我解釋,更新了一些意見,以便更清楚地理解。 – jitendrapurohit