-1

重複の可能性:
PHPで有用なエラーメッセージを取得するにはどうすればよいですか?

このphpjsonスクリプトを機能させることができません。私は彼らのAPIを使用してTwitterから画面名を取得しようとしています。

これが私がしたことです。

$send_request = file_get_contents('https://api.twitter.com/1/users/lookup.json?screen_name=frankmeacey');

$request_contents = json_decode($send_request);

echo $request_contents->screen_name;

なぜこれが毎回空白の値を返すのですか?私はあちこちで物事を変えようとしました、そしてそれはただうまくいきません...

4

5 に答える 5

1

返されるデータ構造はオブジェクトの配列であり、オブジェクトではないためです。

echo $request_contents[0]->screen_name;
于 2012-10-01T15:45:23.360 に答える
0

そのデータは、配列内のオブジェクトのように見えます。試す

echo $request_contents[0]->screen_name;

最初にそれが配列であることを確認し、そこから最初のユーザーを取得するのが最善です。

if (is_array($request_contents)) {
    $user_info = $request_contents[0];
}

if (isset($user_info)) {
    echo $user_info->screen_name;
}
于 2012-10-01T15:45:59.083 に答える
0

使ってみてください

print_r($request_contents); 

また

var_dump($request_contents); 

配列のチェック用。

于 2012-10-01T15:48:35.073 に答える
0

これは

$request_contents[0]->screen_name

$request_contents はオブジェクト自体ではなく、オブジェクトの配列であるためです。

する

var_dump($request_contents);

json の構造を確認します。

于 2012-10-01T15:47:28.620 に答える
0

あなたのページは空白であってはなりません..あなたNotice: Trying to get property of non-object inが呼び出し$request_contents->screen_nameているので、有効ではないというようなエラーが発生するはずです.

すべてのエラーを出力するようにPHPに指示してみてください

error_reporting(E_ALL);

また、CURLの方が速いほうが好きです

$ch = curl_init("https://api.twitter.com/1/users/lookup.json?screen_name=frankmeacey");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);

$request_contents = json_decode($result);
var_dump($request_contents[0]->screen_name);

出力

 string 'frankmeacey' (length=11)
于 2012-10-01T15:50:29.000 に答える