Arrays [Hilfe]

01/09/2014 19:58 lnqlorlouz#1
Hallo.

Ich benötige Hilfe beim ausgeben von Arrays.
Und zwar weiß ich nicht wie viele Arrays die Seite hat - um nicht extra durchzuzählen, würde ich gerne alle Arrays ausgeben.

Hier mein aktueller Code:
PHP Code:
$dataarray explode("\""$data); //Split the data by " into a array

//Assign the array content to variables and echo it
echo $user_profile $dataarray[1]; 
Wie lasse ich alle Arrays ausgeben und nicht nur den ersten, den ich ja so ausgebe:
PHP Code:
echo $user_profile $dataarray[1]; 
Danke schon mal. :)
01/09/2014 20:22 tolio#2
in der zeit wo du hier den thread gemacht hast hättest du einfach bei google "php print array" eigeben können und hättest dort das gefunden
[Only registered and activated users can see links. Click Here To Register...]
01/09/2014 20:25 lnqlorlouz#3
Quote:
Originally Posted by tolio View Post
in der zeit wo du hier den thread gemacht hast hättest du einfach bei google "php print array" eigeben können und hättest dort das gefunden
[Only registered and activated users can see links. Click Here To Register...]
Das Ding ist, ich bin PHP-Anfänger.:awesome: Und habe dazu noch nie was von "print array" gehört. Und die Daten habe ich nicht von meiner Datenbank, sondern von: [Only registered and activated users can see links. Click Here To Register...]

Vielleicht kannst du mir dazu noch helfen.
01/09/2014 20:35 tolio#4
das was du da hast ist json das kannste hiermir [Only registered and activated users can see links. Click Here To Register...] in nen php array umwandeln und dann entsprechend ausgeben so wie es beim ersten link gezeigt wird
01/09/2014 20:40 Kentika#5
Dein Array kannst Du folgendermaßen ausgeben:
PHP Code:
foreach($dataarray as $row)
{
  
print_r($row);

oder ganz simpel:

Für alles:
PHP Code:
print_r($dataarray); 
Dir wird angezeigt, was genau das Array enthält.
Dann kannst Du wie folgt darauf zugreifen:

PHP Code:
echo $row['INHALT']; 
Lg
Kentika
01/11/2014 13:59 Muddy Waters#6
Möchtest du den Inhalt tatsächlich später so ausgeben oder brauchst du das nur zum Debuggen? Falls letzteres der Fall ist, solltest du dir mal das [Only registered and activated users can see links. Click Here To Register...] anschauen. In Verbindung mit xdebug kannst du dir mithilfe der Funktion var_dump() sämtliche Variablen sauber formattiert ausgeben lassen, das sieht dann in etwa so aus:
01/16/2014 00:54 lnqlorlouz#7
Danke an Kentika. Habe es genau mit deinem Beispiel-Code hinbekommen! :)
Nun eine weitere Frage.
Ich kann auch den Server-Status abfragen.
Link: [Only registered and activated users can see links. Click Here To Register...]

Hier die Arrays:
PHP Code:
Array ( [0] => { [1] => Servers [2] => :{ [3] => World [4] => :{ [5] => Current [6] => :916, [7] => Maximum [8] => :2310, [9] => PercentageOfMax [10] => :39}, [11] => West [12] => :{ [13] => Current [14] => :118, [15] => Maximum [16] => :1399, [17] => PercentageOfMax [18] => :8}, [19] => East [20] => :{ [21] => Current [22] => :0, [23] => Maximum [24] => :109, [25] => PercentageOfMax [26] => :0}}, [27] => PlayersOnline [28] => :1034, [29] => Timestamp [30] => :1389829819} ) 
Habe die alle richtig angegeben, die Arrays. Aber wie man sieht bei World bzw. bei Current. Da ist die 916. Davor ist ein Doppelpunkt ( : ), wie tue ich solche Zeichen entfernen?
01/16/2014 03:09 3lue#8
[Only registered and activated users can see links. Click Here To Register...] ;)
01/16/2014 10:13 Muddy Waters#9
Vielleicht sagst du erstmal, worum es bei deinem Vorhaben geht, ich bin nämlich nicht sicher, ob du mit deiner derzeitigen Vorgehensweise den optimalen Ansatz wählst.

Die Punkte geben in dem Fall an, dass unter dem jeweiligen Index ein Array gespeichert ist, das heißt dein Ausgabearray ist mehrdimensional. Ich sehe nun nicht, wieso du diese Punkte entfernen willst, du änderst damit nämlich den Informationsgehalt deiner Daten.

Ich würde dir grundsätzlich empfehlen, die JSON-Ausgabe erstmal durch einen [Only registered and activated users can see links. Click Here To Register...] zu jagen; dann erhältst du folgende Ausgabe, die du als Mensch sehr viel besser interpretieren kannst:
Code:
{
    "Servers": {
        "World": {
            "Current": 787,
            "Maximum": 2310,
            "PercentageOfMax": 34
        },
        "West": {
            "Current": 68,
            "Maximum": 1399,
            "PercentageOfMax": 4
        },
        "East": {
            "Current": 1,
            "Maximum": 109,
            "PercentageOfMax": 0
        }
    },
    "PlayersOnline": 856,
    "Timestamp": 1389863134
}
01/16/2014 18:25 lnqlorlouz#10
So ich habe es nun anders gelöst. Da das ganze ja im JSON-Format war, habe ich es so gemacht und es geht ganz einfach - eigentlich -.
PHP Code:
$json file_get_contents("http://api.wa-sta.net/general/server/&logoff=1");
$json json_decode($json);
$server_timestamp $json->Timestamp;
$timestamp date("H:i:s d.m.Y",($server_timestamp -60*60*24));
$worldcount $json->Servers->World->Current;
$westcount $json->Servers->West->Current;
$eastcount =  $json->Servers->East->Current;
$worldmax =  $json->Servers->World->Maximum;
$westmax =  $json->Servers->West->Maximum;
$eastmax =  $json->Servers->East->Maximum;
$worldperc =  $json->Servers->World->PercentageOfMax;
$westperc =  $json->Servers->West->PercentageOfMax;
$eastperc =  $json->Servers->East->PercentageOfMax;
$totalplayers =  $worldcount+$westcount+$eastcount