使用键创建一个新数组

时间:2013-05-28 13:19:30

标签: php arrays

我在一个变量中有这样的数据:

array(2) {
  ["fields"]=> 
      array(2){
           ...
               }
  ["price"] => int(36)
}
array(2) {
  ["fields"]=> 
      array(2){
           ...
               }
  ["price"] => int(25)
}
....

我需要按价格对这些数据进行排序。我可以使用usort()函数,但我必须使用带有键和值的数组。如何从这些数据中创建数组?

我尝试使用array_fill(),但结果只是第一个元素。

$item = Array("fields" => $arFields, "price" => $price_int); // this is data that I need to sort

$item1 = array_fill(0,15,$item);

排序我喜欢这个

function pricesort($a, $b) 
{
    if ($a["price"] == $b["price"]) {
        return 0;
    }
    return ($a["price"] < $b["price"]) ? -1 : 1;
}

$sort = uasort($item, "pricesort");

我尝试了array_multisort,但它只用第一个值

得到了相同的结果

1 个答案:

答案 0 :(得分:0)

试试这个:

foreach ($Your_array as $key => $row) {
    $price[$key]  = $row["price"]; 
}

array_multisort($price, SORT_DESC, $Your_array);

如果您想按升序排序,请将SORT_DESC更改为SORT_ASC