Как я могу заказать этот ассоциированный массив php? - PullRequest
0 голосов
/ 29 января 2020

Я студент, у меня есть этот массив:

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

Окей, это мой массив, я хочу заказать "проверку" по idCheck, потому что вторая проверка, первый идентификатор 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
            }
        ]
    }

Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Решение:

$x = 0;

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

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

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

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

            });

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

            $x++;
        }
0 голосов
/ 29 января 2020

Вы можете использовать эту функцию:

arsort(array, sorttype)


arsort($users,SORT_NUMERIC);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...