2017-12-28 12 views
-1

new stdClassを関数に送信するという意味で、次のコードを作成しましたが、私はWarning: Creating default object from empty valueというエラーが表示されますが、まだjsonデータも同様です。エラーを修正する方法と、なぜそれを取得しているのですか?新しいstdClassエラーを修正する方法

$send = new stdClass(); 
$send->user->id = '12121212121'; 
$send->message->attachment->type = 'file'; 
$send->message->attachment->image = 'png'; 
$res = process($send); 

function process($send){ 
    $data = json_encode($send); 
    print_r($data); 
} 

結果は次のようになりますされ、以下の結果、上記のエラーがあり、私はそれを述べたように:

{"user":{"id":"12121212121"},"message":{"attachment":{"type":"file","image":"png"}}}

答えて

2

この

$send = new stdClass(); 
$send->user=new stdClass(); 
$send->user->id = '12121212121'; 
$send->message=new stdClass(); 
$send->message->attachment=new stdClass(); 
$send->message->attachment->type = 'file'; 
$send->message->attachment->image = 'png'; 
$res = process($send); 

function process($send){ 
    $data = json_encode($send); 
    print_r($data); 
} 
+0

おかげのような各参照のためにはstdClassを作成し、その仕事はありますが、なぜ彼らはそれぞれのためにstdClassを作成する必要がありますか?、なぜ1人が仕事をすることができないのですか?説明してください、ありがとう – callmejoejoe

+0

example $ sendはstdClassのオブジェクトであり、userはstdClassのオブジェクトではないプロパティなので、ユーザーを再びオブジェクトにするためには、再帰的にstdClassを使用する必要があります –

関連する問題