2014-03-30 35 views
0

試圖讓這個可怕的joomla插件組件以客戶端要求的方式工作。我有這個for循環在那裏,以一種隨機的方式加載結果。所以我試圖讓它至少按照至少1個特定順序排序。我相信它需要在FOR循環中完成。你可以排序/訂購一個PHP FOR循環嗎?

這裏是環是如何設置:

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

我想通過$ fk_featureid來訂購吧。在FOR循環中可能嗎?語法是什麼?

謝謝!

編輯:這裏是數組是如何建立,首先每個項目需要根據其類別組合在一起的話,我想它的每個項目按字母順序根據其類別進行排序:

Array ( 
     [0] => StdClass Object (
      [Id] => 138 
      [Name] => Controls 
      [Categories] => Augers & Hydraulics 
      [Published] => 1 
      [Image_link] => ) 

     [1] => StdClass Object (
      [Id] => 122 
      [Name] => Auger Drives 
      [Categories] => Augers & Hydraulics 
      [Published] => 1 
      [Image_link] => ) 
    ) 
+0

如何在循環之前進行排序? http://www.php.net/manual/en/array.sorting.php – Horen

+0

如果這組值是以數組的形式出現的。你有它的特定功能。 http://in3.php.net/manual/en/function.sort.php – Vagabond

+0

你能提供更多關於$ vehicle_feature結構的信息嗎?像print_r或var_dump的輸出一樣? – sfyn

回答

0

我發現了我的問題的解決方案,但它不是試圖重新排列joomla創建的數組。

我發現查詢字符串是拉所有的特色項目。在ORDER BY屬性中,它已經按類別排序,這很好。但我需要它來訂購每個類別下面的所有物品。我通過在ORDER BY屬性中添加一個逗號和「名稱」來解決這個問題。 (ORDER BY類別,名稱)。

這樣做。感謝您的每一個反饋。

2

你可以排序在for循環中,因爲這不是他們的目的。不過,您可以預先排序。

array_sort($vehicle_feature); 
for($i = 0; $i < count($vehicle_feature); $i++) { ... 

請參閱array_sort

+1

是的,那是我會做的。首先把它整理出來,然後做循環! –

相關問題