你能对 PHP FOR 循环进行排序/排序吗?


Can you sort/order a PHP FOR loop?

试图让这个糟糕的joomla插件组件按照客户端要求的方式工作。我在那里有一个 for 循环,它以有点随机的方式加载结果。所以我试图让它至少按 1 个特定顺序排序。我相信这需要在 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] =>     )
    )

你不能在for循环中排序,因为这不是它们的用途。 不过,您可以提前排序。

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

请参阅array_sort。

我找到了解决问题的方法,但并不是通过尝试对 joomla 创建的数组进行重新排序。

我找到了提取所有特色项目的查询字符串。在 ORDER BY 属性中,它已经按类别排序,这很好。但是我也需要它来订购每个类别下的所有项目。我通过简单地在 ORDER BY 属性中添加逗号和"名称"来解决此问题。(按类别、名称排序)。

这就成功了。感谢您的所有反馈。