【问题标题】:How to sort an Associative array in PHP by specific value如何按特定值对 PHP 中的关联数组进行排序
【发布时间】:2018-03-21 08:11:15
【问题描述】:

这是我的数组:

Array
(
    [0] => Array
        (
            [MyProduct] => Array
                (
                    [id] => 5681
                    [part_number] => 78689
                    [model] => Tiger Paw GTZ All Season
                    [web_price] => $74.68
                    [web_price_markup] => 91.07

                )
        )

    [1] => Array
        (
            [MyProduct] => Array
                (
                    [id] => 33370
                    [part_number] => 49946
                    [model] => Tiger Paw GTZ A/S 2
                    [web_price] => $75.92
                    [web_price_markup] => 92.58
                )
        )

    [2] => Array
        (
            [MyProduct] => Array
                (
                    [id] => 12542
                    [part_number] => 28953781
                    [model] => Ziex ZE950 A/S
                    [web_price] => $78.86
                    [web_price_markup] => 96.17                    
                )
        )       
)

我想按“web_price_markup”对这个数组进行排序,请帮忙。

【问题讨论】:

标签: php arrays sorting multidimensional-array


【解决方案1】:

首先编写比较器函数,用于比较对象的'web_price_markup' 值。

function compare($a,$b){   return strcasecmp($a['name'], $b['name']); }

然后使用usort(假设你的数组是$x):

if(usort($x, 'compare')){
         var_dump($x);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2018-03-12
    • 2017-10-14
    • 2011-07-09
    • 2023-04-06
    相关资源
    最近更新 更多