Ik heb volgende JSON:
{
"player": "yingyu",
"cards": [
{
"player": "yingyu",
"uid": "C3-248-9G9SA73GZK",
"card_detail_id": 248,
"xp": 1,
"gold": false,
"edition": 3,
"level": 1
},
{
"player": "yingyu",
"uid": "C3-283-MNVC8ET79S",
"card_detail_id": 283,
"xp": 1,
"gold": false,
"edition": 3,
"level": 1
},
{
"player": "yingyu",
"uid": "C3-283-2SIKI2BX9S",
"card_detail_id": 283,
"xp": 4,
"gold": false,
"edition": 3,
"level": 2
}
]
}Dit is de JSON data voor 3 kaarten. Echter, kaart 2 en 3 zijn eignelijk dezelfde kaart (card_detail_id is voor beide kaarten hetzelfde). Met kaart 2 wil ik dus eigenlijk niets doen.
Momenteel gebruik ik een foreach loop om door elke kaart te gaan en op basis van de waardes in de JSON genereer ik de artwork automatisch. Ik wil dat wanneer meerdere kaarten dezelfde card_detail_id hebben, enkel de kaart getoond wordt die het hoogste level heeft. Hoe zou ik zoiets aanpakken?
Dit is de PHP code die ik momenteel heb:
<?php
$contents2 = file_get_contents("https://api.splinterlands.io/cards/get_details");
$array2 = json_decode($contents2, true);
$contents3 = file_get_contents('https://api2.splinterlands.com/cards/collection/yingyu');
$array3 = json_decode($contents3, true);
foreach ($array3['cards'] as $card) {
$colcardid = $card['card_detail_id'];
$colcardid--;
$colcardname = $array2[$colcardid]['name'];
$colcardlvl = $card['level'];
$colcardeditionnr = $card['edition'];
if ($colcardeditionnr == "0,1") {
$colcardeditionname = "beta";
} elseif ($colcardeditionnr == "1") {
$colcardeditionname = "beta";
} elseif ($colcardeditionnr == "2") {
$colcardeditionname = "promo";
} elseif ($colcardeditionnr == "3") {
$colcardeditionname = "reward";
} elseif ($colcardeditionnr == "4") {
$colcardeditionname = "untamed";
} elseif ($$colcardeditionnr == "5") {
$colcardeditionname = "dice";
}
$colcardgold = $card['gold'];
if ($colcardgold == true) {
$colcardgoldstring = "_gold";
} else {
$colcardgoldstring = "";
}
echo '<img class="card" src="https://d36mxiodymuqjm.cloudfront.net/cards_by_level/' . $colcardeditionname . '/' . $colcardname . '_lv' . $colcardlvl . $colcardgoldstring . '.png" height="100" alt="' . $colcardname . '" />';
}
?>