(Anfänger) JSON korrekt auslesen, wie?

Kenox

Grünschnabel
Hallo Community,

ich habe mich gewagt, PHP auf eigene Pfoten zu lernen.
Klappt soweit sogar ganz gut, bisauf das JSON auslesen.
Ich möchte von "players", "maxplayers" & "online" so ausgeben
lassen: "0/128". - Jedoch klappt das nicht soganz. :/

(API: https://mcapi.de/api/server/31.172.80.114)
Code:
Code:
<?php

    $seite = file_get_contents("https://mcapi.de/api/server/31.172.80.114");
    $array = json_decode($seite, true);
    if($array['players'] == 0) {echo "0/128";}
    elseif($array['players'] > 0) {echo "0/128";}
    echo $array['players'];
?>

Bitte seid nicht so streng mit mir, ich bin ein Anfänger! :D
Danke im Vorraus!
Mit freundlichen grüßen,
Kenox
 
Als erstes immer für sich selber den JSON formatieren, damit man die Verschachtelungen gut erkennt.
Code:
{
    "result":{
        "status":"Ok",
        "message":"No errors."
    },
    "hostname":"31.172.80.114",
    "players":{
        "max":250,
        "online":0
    },
    "updated":{
        "time":"2016-11-04 14:56:08",
        "expires":"2016-11-04 15:01:08",
        "zone":"Europe\/Berlin"
    }
}
Dann erkennt man, dass die Verschachtelung so aussieht
PHP:
$max = $array['players']['max'];
$online= $array['players']['online'];

Den Rest deiner Frage habe ich nicht verstanden.
 
Danke! Funktioniert jetzt.
Habe es so:
Code:
<?php

    $seite = file_get_contents("https://mcapi.de/api/server/151.80.33.142");
    $array = json_decode($seite, true);
    $max = $array['players']['max'];
    $online= $array['players']['online'];
    $players = $online.'/'.$max;
    echo $players
?>
 
@Yaslaw Ich habe doch wieder ein Problem:
aus https://mcapi.ca/query/mc.minseside.de/info möchte ich "status"
auslesen. Das habe ich bereits:
PHP:
<?php
    $seite = file_get_contents("https://mcapi.ca/query/mc.minseside.de/info");
    $array = json_decode($seite, true);
    $status= "\"".$array['status']."\"";
    echo $status;
?>

Jedoch wird mir kein "true" oder "false" angezeigt.
lediglich die zwei Anführungszeichen ("")

Danke im Vorraus!
 
So sollte es klappen:
PHP:
<?php
    $seite = file_get_contents("https://mcapi.ca/query/mc.minseside.de/info");
    $array = json_decode($seite, true);
    if(!$array['status']){
      $status = "False";
    }else{
      $status = "True";
    }
    echo $status;
?>
 
Zurück