2015-11-20 57 views
0

在iOS中,我知道我使用塊從函數中獲取值來完成一些後臺任務。一段時間後從函數返回Json?

我有一個去服務器和獲取數據的函數。然後我想這些數據返回給調用者,所以我這樣做沒有成功:

function readFromServer($deviceid) 
{ 


    //PARSE API KEYS 
    $appId = 'xxx'; 
    $restKey = 'yay'; 

    $deviceToFind='"' . $deviceid . '"' ; 

    $params = 'where={"Devices":{"$in":[' . $deviceToFind . ']}}'; 

    $url = 'https://api.parse.com/1/classes/USERS?' . urlencode($params); 


    $headers = array( 
    "Content-Type: application/json", 
    "X-Parse-Application-Id: " . $appId, 
    "X-Parse-REST-API-Key: " . $restKey 
); 





$rest = curl_init(); 
curl_setopt($rest,CURLOPT_URL,$url); 
curl_setopt($rest,CURLOPT_GET,1); 
curl_setopt($rest,CURLOPT_HTTPHEADER,$headers); 
curl_setopt($rest,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($rest,CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($rest); 
$json = json_decode($response, true); 


// print_r($json['results'][0]['UserID']); //works ! 



curl_close($rest); 
    return $json 
    } 

與調用它:

$foundUser= readFromServer($deviceID); 

print_r($foundUser['results'][0]['UserID']); 

打印什麼(當我這樣做知道函數回來的數據從服務器

編輯: 在函數內部我得到的值:

print_r($json['results'][0]['UserID']); 
+1

'後續代碼var_dump($ foundUser);'? – Federkun

+0

@Federico什麼? :)不知道我有你.. – Curnelious

+1

'$ url'對我來說似乎相當不確定。你應該測試[curl_error()](http://php.net/manual/en/function.curl-error.php)以及 – DarkBee

回答

2

假設這是真的複製的代碼,你缺乏一個分號return語句後:

curl_close($rest); 
return $json; 
//   (here) 

正如評論mentionned,能夠與錯誤:

ini_set('display_errors', 1); 
error_reporting(E_ALL); 
+0

哦,不!你讓我了!有效 !感謝和抱歉的愚蠢的錯誤 – Curnelious

+1

@Curnelious連續兩次:-)沒關係,很高興它解決了! – Jan

+0

但下次自己做一些調試:P – Federkun