2010-11-20 14 views
0

i die folgende Abfrage haben:wie ein Element in mehrdimensionalen Arrays finden

$simplequery = array('type'=>'/travel/travel_destination', 
        'id'=>$_POST["hcity"], 
        'name' => null, 
        'tourist_attractions' => array(
         array('/common/topic/article'=>array(array('guid'=>null)), 
           '/common/topic/image'=>array(array('guid'=>null)) 
         ) 
        ) 
); 

$queryarray = array('q1' => array('query' => $simplequery)); 
$jsonquerystr = json_encode($queryarray); 
//echo $jsonquerystr; 
#run the query 
$apiendpoint = "http://www.freebase.com/api/service/mqlread?queries"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "$apiendpoint=$jsonquerystr"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$jsonresultstr = curl_exec($ch); 
curl_close($ch); 
$temp = str_replace("#", "", $jsonresultstr); 
$resultarray = json_decode($temp, true); 

ich die GUID-Zeichenfolge des '/ common/Thema/Bild' Array nehmen wollen. Es ist ein multidimensionales Array und ich kann nicht herausfinden, wie es geht. Ich versuchte

$result = $resultarray["q1"]["result"]["tourist_atractions"]['/common/topic/image']; 

writting, aber es funktioniert nicht. kannst du mir bitte helfen? danke

+0

Können Sie eine 'print_r ($ resultarray)' hinzufügen, so dass wir sehen können, in welchem ​​Format das Array ausgegeben wird? – Eric

+0

haben Sie versucht, eine print_r ($ resultarray); nach der letzten Zeile zu überprüfen, wie das Array zurückgegeben wird? das würde die Dinge für dich klarer machen. – Rodrigo

+0

Ist Ihr Tippfehler von "Attraktionen" ein Kopier-/Einfügefehler oder existiert dieser in Ihrem tatsächlichen Code? – Alex

Antwort

0
$result = $resultarray["q1"]["result"]["tourist_attractions"]['/common/topic/image'][0]['guid']; 
+0

schließlich war das Hauptproblem die Rechtschreibfehler des Wortes "Attraktionen". – artemis

+0

Vielen Dank – artemis

+0

@artemis Kein Problem. Werden Sie dies als die akzeptierte Antwort dann markieren? – Alex

0

Erste Schätzung? Sie misspelt "Sehenswürdigkeiten":

$resultarray["q1"]["result"]["tourist_attractions"]['/common/topic/image']; 
Verwandte Themen