使用多个键值排序并在 php 中创建新关联数组的问题

我在 api 响应中得到了关联数组结构,如下所示


{

    "error": false,

    "msg": "Success",

    "result_user_wish_list": {

        "my_whishlist": [

            {

                "id": 6,

                "product_name": "abc",

                "price": 300,

                "user_id": 6,

                "shop_name": 12,

                "is_buy": 0,

                "purchase_by": null,

                "created_at": "2020-07-01T21:34:43.000000Z",

                "updated_at": "2020-07-01T21:34:43.000000Z",

                "shop_name": "Relience",

                "shop_zipcode": "390016",

                "user_name": "ABC"

            },

            {

                "id": 2,

                "product_name": "Rice",

                "price": 1200,

                "user_id": 1,

                "shop_id": 10,

                "is_buy": 0,

                "purchase_by": null,

                "created_at": "2020-06-16T12:02:04.000000Z",

                "updated_at": "2020-07-03T16:06:42.000000Z",

                "shop_name": "Dmart",

                "shop_zipcode": "390017",

                "user_name": "XYZ"

            }

        ],

        "my_friends_list": [

            [

                {

                    "id": 2,

                    "product_name": "Rice",

                    "price": 1200,

                    "user_id": 1,

                    "shop_id": 12,

                    "is_buy": 0,

                    "purchase_by": null,

                    "created_at": "2020-06-16T12:02:04.000000Z",

                    "updated_at": "2020-07-03T16:06:42.000000Z",

                    "shop_name": "Relience",

                    "shop_zipcode": "390016",

                    "user_name": "MNJ"

                }

            ]

        ]

    }

}

我想从这个数组中创建另一个数组,就像我们有相同的数组一样,shop_name然后shop_zipcode从这个数组中创建另一个数组,就像

但这样我只能按shop_name对数组进行排序,并且我希望我可以按shop_name和shop_zipcode对数组进行排序



哔哔one
浏览 126回答 1
1回答

胡子哥哥

由于这是一个 json 响应,因此您首先需要对其进行解码json_decode,然后将其视为数组。$decode = json_decode($data,true); //$data is your json response$result = [];for ($i=0; $i < sizeof($decode['result_user_wish_list']['my_whishlist']) ; $i++) {&nbsp;&nbsp;for ($j=0; $j < sizeof($decode['result_user_wish_list']['my_friends_list'][0]) ; $j++) {&nbsp;&nbsp; if ($decode['result_user_wish_list']['my_whishlist'][$i]['shop_name'] == $decode['result_user_wish_list']['my_friends_list'][0][$j]['shop_name'] &&&nbsp;&nbsp; &nbsp;$decode['result_user_wish_list']['my_whishlist'][$i]['shop_zipcode'] == $decode['result_user_wish_list']['my_friends_list'][0][$j]['shop_zipcode']) {&nbsp; &nbsp;$result[$decode['result_user_wish_list']['my_whishlist'][$i]['shop_name']][] = $decode['result_user_wish_list']['my_whishlist'][$i];&nbsp; &nbsp;$result[$decode['result_user_wish_list']['my_whishlist'][$i]['shop_name']][] = $decode['result_user_wish_list']['my_friends_list'][0][$j];&nbsp; }&nbsp; else{&nbsp; &nbsp;$result[$decode['result_user_wish_list']['my_whishlist'][$i]['shop_name']][] = $decode['result_user_wish_list']['my_whishlist'][$i];&nbsp; }&nbsp;}&nbsp;}输出Array(&nbsp; &nbsp; [Relience] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [id] => 6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [product_name] => abc&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [price] => 300&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_id] => 6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_name] => Relience&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [is_buy] => 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [purchase_by] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [created_at] => 2020-07-01T21:34:43.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [updated_at] => 2020-07-01T21:34:43.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_zipcode] => 390016&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_name] => ABC&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [1] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [id] => 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [product_name] => Rice&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [price] => 1200&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_id] => 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_id] => 12&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [is_buy] => 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [purchase_by] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [created_at] => 2020-06-16T12:02:04.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [updated_at] => 2020-07-03T16:06:42.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_name] => Relience&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_zipcode] => 390016&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_name] => MNJ&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; [Dmart] => Array&nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [0] => Array&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [id] => 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [product_name] => Rice&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [price] => 1200&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_id] => 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_id] => 10&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [is_buy] => 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [purchase_by] =>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [created_at] => 2020-06-16T12:02:04.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [updated_at] => 2020-07-03T16:06:42.000000Z&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_name] => Dmart&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [shop_zipcode] => 390017&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [user_name] => XYZ&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )&nbsp; &nbsp; &nbsp; &nbsp; ))
打开App,查看更多内容
随时随地看视频慕课网APP