Извлечение данных из массива JSON с помощью цикла

php arrays json sorting

66 просмотра

1 ответ

Я пытаюсь отфильтровать ответ массива JSON, так как мне нужна только небольшая часть результатов.

Мне нужно получить displayNameтолько игроков .

Здесь отдых для первого игрока, может быть до 12 игроков за матч.

Мне нужно что-то, что может перебрать и извлечь имена ..

[displayName] => jonhofun

В настоящее время я могу получить только те данные, которые мне нужны.

$player1 = $json11['Response']['data']['entries']['0']['player']['destinyUserInfo']['displayName'];
$player2 = $json11['Response']['data']['entries']['1']['player']['destinyUserInfo']['displayName'];
etc... etc...

вот оригинальный ответ

Array
(
[Response] => Array
    (
        [data] => Array
            (
                [period] => 2016-08-20T10:16:46Z
                [activityDetails] => Array
                    (
                        [referenceId] => 3156370656
                        [instanceId] => 5370359303
                        [mode] => 12
                        [activityTypeHashOverride] => 3614615911
                    )

                [entries] => Array
                    (
                        [0] => Array
                            (
                                [standing] => 0
                                [score] => Array
                                    (
                                        [basic] => Array
                                            (
                                                [value] => 2190
                                                [displayValue] => 2,190
                                            )

                                    )

                                [player] => Array
                                    (
                                        [destinyUserInfo] => Array
                                            (
                                                [iconPath] => /common/destiny_content/icons/d0d3cd4c26aa1a931d46c4bf720856ba.jpg
                                                [membershipType] => 2
                                                [membershipId] => 4611686018454971653
                                                [displayName] => jonhofun
                                            )

                                        [characterClass] => Warlock
                                        [characterLevel] => 40
                                        [lightLevel] => 322
                                    )
                            )
                    )
            )
    )
)

Любая помощь будет оценена.

Автор: Ashley Источник Размещён: 08.11.2019 11:30

Ответы (1)


2 плюса

Решение

Вам нужно перебрать подмассив в разделе "записи".

foreach ($json11['Response']['data']['entries'] as $entries) {
    $player_names[] = $entries['player']['destinyUserInfo']['displayname'];
}

echo "<pre>";
print_r($player_names);    // Check all player names
Автор: Object Manipulator Размещён: 20.08.2016 03:41
Вопросы из категории :
32x32