<?php
-function filterByGenre($origGames, $genre)
+function filterByAge($origGames, $age)
{
$filtered = [];
foreach ($origGames as $game) {
- if (array_search($genre, $game->genres) !== false) {
+ if ($age == $game->contentRating) {
+ $filtered[] = $game;
+ }
+ }
+ return $filtered;
+}
+
+function filterByGenre($origGames, $genre, $remove = false)
+{
+ $filtered = [];
+ foreach ($origGames as $game) {
+ if ($remove) {
+ if (array_search($genre, $game->genres) === false) {
+ $filtered[] = $game;
+ }
+ } else {
+ if (array_search($genre, $game->genres) !== false) {
+ $filtered[] = $game;
+ }
+ }
+ }
+ return $filtered;
+}
+
+function filterByLetter($origGames, $letter)
+{
+ $filtered = [];
+ foreach ($origGames as $game) {
+ $gameLetter = strtoupper($game->title{0});
+ if (!preg_match('#^[A-Z]$#', $gameLetter)) {
+ $gameLetter = 'Other';
+ }
+ if ($letter == $gameLetter) {
$filtered[] = $game;
}
}
usort(
$games,
function ($gameA, $gameB) {
- return $gameB->rating->average - $gameA->rating->average;
+ return ($gameB->rating->rank - $gameA->rating->rank) * 100;
}
);