1

我已经按价格对一系列旅游产品进行了分类。我想在列表末尾移动价格 = 0 的产品。

这是我尝试过的:

        for($i = 0; $i < count($mes_voyages); ++$i) {

            if($mes_voyages[i]['prix']==0) 
            {

                array_push($mes_voyages,$mes_voyages[i]);
                unset($mes_voyages[i]);

            }

        }
4

2 回答 2

3

所以这将是:

$mes_voyages = array_merge(
   array_filter($mes_voyages, function($item){ return $item['prix']!=0; }),
   array_filter($mes_voyages, function($item){ return $item['prix']==0; })
);
于 2013-11-06T16:20:17.030 回答
2

有一个更清洁的解决方案:

usort($mes_voyages, function($a,$b) {
     if ($a["prix"] === 0 && $a["prix"] != $b["prix"]) return 1;
});
于 2013-11-06T16:21:18.643 回答