PHP如何对结果ASC进行排序

时间:2013-10-27 19:30:59

标签: php

有人可以帮我在这里添加排序功能......我需要通过floorplan_price将“if”结果排序为ASC。

if ($this->floorplan=ipropertyHTML::getcatfloorplan($this->catinfo->id))
{
echo '<h2 class="ip-floorplan-header" style="margin-top:-50px;color:#B20839; font-weight: bold;">Available Floorplans To Build</h2>';

  $this->k = 0;
  $this->floorplan=ipropertyHTML::getcatfloorplan($this->catinfo->id);

  foreach($this->floorplan as $fp)
  {
    $this->floorplan_price=$fp->floorplan_price;
    $this->floorplaninfo=ipropertyHTML::getfloorplaninfo($fp->floorplan_id);
    $this->p= $this->floorplaninfo;
    echo $this->loadTemplate('floorplan');
    $this->k = 1 - $this->k;
  }}
else { // no results tmpl

    echo '<h2 class="ip-floorplan-header" style="margin-top:-50px;color:#B20839; font-weight: bold;">Available Floorplans To Build</h2>';
    echo '<div class="nofloorplans">No floor plans are available to build at the time. Check back soon!</div>';

} 

1 个答案:

答案 0 :(得分:0)

usort功能允许您提供排序逻辑。

定义排序方法:

function sortByPrice($a, $b)
{
    if ($a->floorplan_price == $b->floorplan_price) {
        return 0;
    }
    return ($a->floorplan_price < $b->floorplan_price) ? -1 : 1;
}

然后在你的foreach循环之上

usort($this->floorplan, "sortByPrice");

我会注意到,正如@Sébastien所做的那样,这应该是MySQl的工作而不是php,如果可能的话,只是为了表现。