2012-06-23 84 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

你能更具体吗?注入什么意思?给我举个例子。 –

相关问题