首页 > 解决方案 > 我如何订购这个关联数组 php?

问题描述

我是学生,我有这个数组:

 {
        "user": "DAV",
        "checks": [
            {
                "result": "OKEY",
                "idCheck": 13,
            },
            {                             
                "result": "1",
                "idCheck": 14,                  
            }
        ]
    },
    {
        "user": "DAV",            
        "checks": [
            {
                "result": "X",
                "idCheck": 14,
            },
            {
                "idCheck": 13,
                "result": null
            }
        ]
    }

好的,这就是我的数组,我想通过 idCheck 订购“检查”,因为第二次检查,第一个 id 是 14,秒是 13。我不知道我必须做什么。也许是 usort 什么的。我不知道

我想要的结果是这样的:

{
        "user": "DAV",
        "checks": [
            {
                "result": "OKEY",
                "idCheck": 13,
            },
            {                             
                "result": "1",
                "idCheck": 14,                  
            }
        ]
    },
    {
        "user": "DAV",            
        "checks": [
            {
                "result": null,
                "idCheck": 13,
            },
            {
                "idCheck": 14,
                "result": X
            }
        ]
    }

谢谢。

标签: phpjsonlaravel

解决方案


解决方案是:

 foreach ($resultado as $key => $registro) {

            $registros = json_decode($registro['checks'],true);

            usort($registros, function($a, $b) {

                return $a['idCheck'] <=> $b['idCheck'];

            });

            $resultado[$key]['checks'] = $registros;

        }

推荐阅读