2013-05-16 22 views
0

我很喜歡下面如何Concat的一些基本URL回聲輸出JSON

<?php 
$movie_name="Dabangg 2"; 
$movie_name = urlencode($movie_name); 
$url="http://api.themoviedb.org/3/search/movie?api_key=accd3ddbbae37c0315fb5c8e19b815a5&query=$movie_name"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json")); 
$response = curl_exec($ch); 
curl_close($ch); 
$obj = json_decode($response); 
foreach ($obj->results as $results){ 
    echo $results->id; 
    echo $results->"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92'.poster_path.'"; 
} 
?> 

和的var_dump是

object(stdClass)#1 (4) { 
    ["page"]=> 
    int(1) 
    ["results"]=> 
    array(1) { 
    [0]=> 
    object(stdClass)#2 (10) { 
     ["adult"]=> 
     bool(false) 
     ["backdrop_path"]=> 
     string(32) "/rWGMdyTydjXXh9YphuU5gQ7wJ8X.jpg" 
     ["id"]=> 
     int(147405) 
     ["original_title"]=> 
     string(9) "Dabangg 2" 
     ["release_date"]=> 
     string(10) "2012-12-21" 
     ["poster_path"]=> 
     string(32) "/3tqT7N94fY73Ft6BVepnEqgwWyr.jpg" 
     ["popularity"]=> 
     float(0.46) 
     ["title"]=> 
     string(9) "Dabangg 2" 
     ["vote_average"]=> 
     float(5.8) 
     ["vote_count"]=> 
     int(2) 
    } 
    } 
    ["total_pages"]=> 
    int(1) 
    ["total_results"]=> 
    int(1) 
} 

我的代碼工作正常代碼。我只想檢索基本網址http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92poster_path。我怎樣才能做到這一點?以上 echo $results->"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92'.poster_path.'"; 只是我試圖回顯完整的URL。

輸出URL回聲應該是 http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92/3tqT7N94fY73Ft6BVepnEqgwWyr.jpg

感謝

+0

'echo $ results->「http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92'.poster_path。'」;'不正確。看到答案。 – NullPointer

回答

1

除非即時失去了一些東西......

echo 'http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92' . $results->poster_path;

+0

或者你可以讓它更優雅一點,並定義'BASE_URL'。我傾向於使代碼看起來更清潔。 – Oberst

+0

感謝簡單的解決方案 – Yogus

1

這可以幫助你:

<?php 

    $url_ahead = 'http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92'; 
    $poster_path = $results[0]['poster_path']; //or something like this 
    //$poster_path = "/3tqT7N94fY73Ft6BVepnEqgwWyr.jpg"; //for static 
    // echo $url_ahead.''.$poster_path; 
    echo $url_ahead.$poster_path; 

    ?> 
+0

爲什麼你需要'。''。'? – Barmar

+0

哦..只是'echo $ url_ahead。$ poster_path;'會工作:) –

1
$baseUrl = "http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w92"; 
foreach ($obj->results as $results){ 
    echo $results[0]->id; //this also should be changed from $results->id 
    $posterUrl = $results[0]['poster_path']; 
    echo $baseUrl.$posterUrl; //Can store like $poster_path = $baseUrl.$posterUrl; 
} 

爲什麼需要使用$results[0]->id$results[0]['poster_path']?因爲$results也是一個Two/Multidimensional數組。