Вывод данных из массива json

381
03 июня 2017, 17:44

Есть json с данными, как в массиве stats выбрать нужную запись по name? json_decode($urljson)->playerstats->stats[0] не подходит, так как данные могут отличаться местами

{
  "playerstats": {
    "steamID": "76561198161582003",
    "gameName": "",
    "stats": [{
        "name": "deaths",
        "value": 604
      },
      {
        "name": "kill",
        "value": 11800
      }
    ]
  }
}
Answer 1

Без цикла не обойтись:

$str = <<<JSON
{
  "playerstats": {
    "steamID": "76561198161582003",
    "gameName": "",
    "stats": [{
        "name": "deaths",
        "value": 604
      },
      {
        "name": "kill",
        "value": 11800
      }
    ]
  }
}
JSON;
$json = json_decode($str);
$name = 'kill';
var_dump($json);
foreach($json->playerstats->stats as $stat){
  if($stat->name === $name){
    $stat->name = "Kill all humans!";
    break;
  }
}
var_dump($json);

https://repl.it/I22i/0

READ ALSO
Как делать escape?

Как делать escape?

Каким образом делается эскейпинг входящих post-данных в orm phpactiverecordЭто нужно делать своими силами или ?

298
Отправка HTML кода из Texarea

Отправка HTML кода из Texarea

ИтакЕсть некий скрипт, часть из которого приведена ниже, который отправляет HTML код из поля <textarea>:

339