2012-06-23 82 views
0

我有一個數組,我想根據另一個數值對數組進行排序。 第一陣列:根據來自另一個數組的值對數組進行排序

$array1 = ([0]=> Int(2) 
    [1]=>Array(['id']=>String(5) , ['value']=>String(10)) 
    [2]=>Array(['id']=>String(5) , ['value']=>String(10)) 
    [3]=>Array(['id']=>String(5) , ['value']=>String(10)) 
) 

和第二單:

$array2 = (1,4,3) 

結果應基於$數組2:

$array1 = ([0]=> Int(2) 
    [1]=>Array(['id']=>String(5) , ['value']=>String(10)) 
    [3]=>Array(['id']=>String(5) , ['value']=>String(10)) 
    [2]=>Array(['id']=>String(5) , ['value']=>String(10)) 
)   

我已經嘗試了冒泡排序,但不工作:

for ($i = 1 ; $i <= $array1[0] ; $i++){ 
    for ($j = $i+1 ; $j <= $array1[0] ; $j++){ 
     if ($array2[$i] < $array2[$j]){ 
      $temp = $array1[$i]; 
      $array1[$i] = $array1[$j]; 
      $array1[$j] = $temp; 
     } 
    } 
} 
+1

'4'來自'$ array2'的位置? – nickb

+0

我認爲你需要更好地解釋自己。你是什​​麼意思,結果應該基於數組2?你究竟想要做什麼?在你的氣泡排序中,你是按字符串排序的,比較哪一個按字母順序排列,然後在數組的0位置使用Int。什麼是Int?數組中的條目數量還是什麼? – 8vius

回答

0

你有沒有試過檢查array_multisort?你可以將數組2插入數組1然後按這種方式進行排序?

+0

你能更具體嗎?注入什麼意思?給我舉個例子。 –

相關問題