0

在下面的数组中,您可以看到'listElemId'的顺序与数组中的三个第一个元素不同。我想要的是他们按顺序排列(listElem 1,2,3)。 'listElemPoints'当然应该遵循。在第三级对多维数组排序

这是如何实现的?

在此先感谢!

$listArray { 
    [0] { 
     [0] { 
      ["listElemId"] = 2 // <- should be 1 
      ["listElemPoints"] = 1 } 
     [1] { 
      ["listElemId"] = 3 // <- should be 2 
      ["listElemPoints"] = 2 } 
     [2] { 
     ["listElemId"] = 1  // <- should be 3 
     ["listElemPoints"] = 3 } 
     } 
    [1] { 
     [0] { 
      ["listElemId"] = 3 // <- should be 1 
      ["listElemPoints"] = 1 } 
     [1] { 
      ["listElemId"] = 2 // <- correct 
      ["listElemPoints"] = 2 } 
     [2] { 
      ["listElemId"] = 1 // <- should be 3 
      ["listElemPoints"] = 3 } 
     } 
    [2] { 
     [0] { 
      ["listElemId"] = 3 // <- should be 1 
      ["listElemPoints"] = 1 } 
     [1] { 
      ["listElemId"] = 1 // <- should be 2 
      ["listElemPoints"] = 2 } 
     [2] { 
      ["listElemId"] = 2 // <- should be 3 
      ["listElemPoints"] = 3 } 
     } 
} 

回答

1

像这样的东西应该工作(未经测试):

foreach ($listArray as &$arr) { 
    uasort($arr, function($a, $b) { 
    return $a['listElemId'] > $b['listElemId']; 
    }); 
} 
+0

非常感谢! :) – holyredbeard