3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = <<<JSON { "total":2000, "achievements":[ { "id":6, "achievement":{}, "criteria":{ "id":2050, "is_completed":false }, "completed_timestamp":1224053510000 }, { "id":8, "achievement":{}, "criteria":{ "id":1289, "is_completed":true }, "completed_timestamp":1224053510000 } ] } JSON; try { $data = json_decode($json, false, 512, JSON_THROW_ON_ERROR); $completedAchievements = array_filter( $data->achievements, static function (\stdClass $achievement): bool { return $achievement->criteria->is_completed === true; } ); $completedAchievementsIds = array_column($completedAchievements, 'id'); print_r($completedAchievementsIds); } catch (JsonException $e) { echo $e->getMessage(); }

preferences:
27.39 ms | 407 KiB | 5 Q