有人可以帮我在这里添加排序功能......我需要通过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>';
}
答案 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,如果可能的话,只是为了表现。