0

以下の配列では、「listElemId」の順序が配列の最初の3つの要素とは異なることがわかります。私が欲しいのは、それらが整然としていることです(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 }
      }
}
4

1 に答える 1

1

このようなものは機能するはずです(テストされていません):

foreach ($listArray as &$arr) {
  uasort($arr, function($a, $b) {
    return $a['listElemId'] > $b['listElemId'];
  });
}
于 2012-10-29T21:00:48.173 に答える