Разбор массива php , json

226
30 сентября 2017, 23:07

Доброго всем времени суток!
Подскажите, как можно обратиться к массиву еще на уровень глубже?
Есть $data['Stats'], в нем есть еще 1 массив с таким же именем Stats:

{
    "platformId": 4,
    "AccountId": "account.0993d6055496416f9e5710016a061b8d",
    "Avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/37/374526a1a62802567734c74760c2d890e89c6a3b.jpg",
    "selectedRegion": "agg",
    "defaultSeason": "2017-pre4",
    "seasonDisplay": "Early Access Season #4",
    "LastUpdated": "2017-09-30T00:47:34.7304316Z",
    "PlayerName": "Lidman",
    "PubgTrackerId": 392412,
    "Stats": [
        {
            "Region": "eu",
            "Season": "2017-pre2",
            "Match": "solo",
            "Stats": [
                {
                    "label": "K/D Ratio",
                    "field": "KillDeathRatio",
                    "category": "Performance",
                    "ValueInt": null,
                    "ValueDec": 1.33,
                    "value": "1.33",
                    "rank": null,
                    "percentile": null,
                    "displayValue": "1.33"
                },

Вот сам код:

<?php
$curl = curl_init();
$a = $_POST['pubg-nickname'];
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://123.com/api/profile/pc/{$a}",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "trn-api-key: 1111"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$data = json_decode($response, true);
$foto = $data['Avatar'];
echo '<center><table class="table table-striped table-bordered table-responsive">';
foreach ($data['Stats'] as $key => $value) {    
echo "<tr class=".warning.">
<td>".$value['Region']."</td>
<td>".$value['Season']."</td>
<td>".$value['Kills']."</td>
<td>".$value['Match']."</td>
</tr>";
}
echo "</center></table>";
?>
Answer 1

Это основы, обращаться к матрице, надо как к обычному элементу массива, а к его элементу, как к элементу элемента.

$arr['elem'] \\это обращения к элементу в массиве
$arr['arr'] \\это обращения к элементу массива, который является массивом, но очень часто, это не имеет смысла.
$arr['arr']['elem'] \\ это обращения к элементу массива, который находиться в изначальном массиве, проще говоря к матрице.

Это мат-часть, плохо что вы не знаете ее, но уже работает с компонентом cURL, даже если код не ваш.

P.S в вашем случае, обращения выглядит так

$data['Stats'][0]['Stats'][0]
READ ALSO
libgcc_s_dw2-1.dll не найден

libgcc_s_dw2-1.dll не найден

Я собрал проект на Code::blocks , Но он запускается только через само IDE при попытке запустить вне IDE пишет

393
Как определить, простое число или нет?

Как определить, простое число или нет?

Пытаюсь придумать алгоритм/метод вычисления простых чиселНо не могу понять фишку

529
Проверить введенные данные пользователя с данными из файла

Проверить введенные данные пользователя с данными из файла

Не знаю как проверить веденные данные пользователя что бы сравнились с строками из файлаПроблема заключается в одной функции GetIntoTheSystem

258