2012-04-12 23 views
0

Ich versuche, Daten aus einem passwortgeschützten JSON-Feed mit curl zu holen, aber das Ergebnis fügt "Array (" an den Anfang des Feeds und ")" am Ende, wodurch es ungültig wird.Entfernen von "Array()" aus CURL Ergebnis PHP

ich diesen Code bin mit:

<?php 
    $url = 'https://slx.arlcap.com/sdata/rcs/tablet/products/Y6UJ9A00000Z/filings'; 
    $username = 'xxx'; 
    $password = 'xxx'; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    //curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
    //curl_setopt($ch, CURLOPT_REFERER, $url); 
    $result = curl_exec($ch); 
    $info = curl_getinfo($ch); 
    curl_close($ch); 
    $data = json_decode($result, true); 
    print_r($data); 
?> 

Und das Ergebnis ist hier: http://www.motion.tc//DataTables-1.9.0/examples/ajax/feed.php

Gibt es eine Möglichkeit ich die Datenrückgabe ohne haben kann "Array()" Element hinzugefügt wird ?

Danke! Andrew

+2

Ich sehe die Oage als arbeiten, was hast du erwartet zu sehen? Sie drucken das geparste Array, das korrekt aus dem JSON –

+0

analysiert wurde. Der einzige Grund, warum es mit 'Array()' zeigt, ist, dass Sie es 'print_r()' redigiert haben. In welchem ​​Format soll es sein? – DaveRandom

Antwort

2

Das ist, weil Sie eine print_r Funktion verwenden. Um nur die Werte innerhalb der Variablen zu erhalten, führen Sie ein Echo mit einer foreach-Schleife aus. Etwas wie dieses:

foreach($data as $key => $val) { 
    echo $key . " -> " . $val; 
} 

Wenn es kein verschachteltes Array ist. Wenn es ist verschachtelten Array, suchen Sie SO für das Drucken sie effektiv.

0

Sie bekommen solches Format, weil Sie eine arrayhttp://php.net/manual/en/language.types.array.php versuchen, zu drucken, wenn Sie Service-basierte Anwendung entwickeln ich glaube, Sie ein Standardformat verwenden, verwenden wie json für die Ausgabe ....

Bitte Siehe:

http://www.php.net/manual/en/function.json-decode.php

http://www.php.net/manual/en/function.json-encode.php

Es würde Sie einen viel sauberen Code mit besserer compatibi lity mit anderen Technologien wie javascript usw.