如何基于多个条件对多维数组进行排序

时间:2013-01-16 23:06:05

标签: php sorting multidimensional-array

我有一个多维数组,我需要根据多个标准进行排序,我不确定最佳方法是什么。

以下是我正在使用的内容:

array {
  [0]=>
  array {
    ["itemid"]=>
    string "3135475"
    ["model"]=>
    array {
      ["Model"]=>
      string "MK1931"
    }
    ["brand"]=>
    array {
      ["Brand"]=>
      string "Castles"
      ["Manufacturer"]=>
      string "Castles Int'l, LTD"
    }
    ["views"]=>
    string "53465"
  }
  [1]=>
  array {
    ["itemid"]=>
    string "3616546"
    ["model"]=>
    array {
      ["Model"]=>
      string"1931"
      ["PartNumber"]=>
      string "MK1931"
    }
    ["brand"]=>
    array {
      ["Brand"]=>
      string "Castles"
      ["Manufacturer"]=>
      string "Castles Int'l, LTD"
    }
    ["views"]=>
    string "134465"
  }
  [2]=>
  array {
    ["itemid"]=>
    string "1024567"
    ["model"]=>
    array {
      ["PartNumber"]=>
      string "MK1931"
    }
    ["brand"]=>
    array {
      ["Brand"]=>
      string "Castles"
    }
    ["views"]=>
    string "253465"
  }
  [3]=>
  array {
    ["itemid"]=>
    string "35463810"
    ["model"]=>
    array {
      ["PartNumber"]=>
      string "MK1931-170952"
    }
    ["brand"]=>
    array {
      ["Brand"]=>
      string "Product By Castles"
    }
    ["views"]=>
    string "265"
  }
}

我需要找到数组中的itemid,它与“Castles”的品牌匹配次数最高,与“MK1931”匹配的模型匹配次数最高,然后我需要具有最高视图数量的元素。如果元素没有任何品牌和模型匹配,则应在丢弃视图之前将其丢弃。

在这种情况下,只需观察它,它就是元素#2(itemid 1024567)。

我正在尝试找出使用PHP获取元素#2的最快,最少CPU密集型方法。

0 个答案:

没有答案