0

私は次のクラスを宣言しました:

class Background{ 
    protected $users = array() ;
 ......
 }

$usersこれは、私User()が作成した別のオブジェクトです。この方法を使用しようとすると問題が発生します。

function createB(){
        foreach($this->users as $user){
            $name = $user->getName();
        }
    }

はオブジェクトとして表示されないため、$user->getName()実際にはエラーです。$userこの理由は何ですか?

前もって感謝します

4

1 に答える 1

1

問題は、$users が実際に入力されていないことにある可能性があります。この種の問題を防ぐために、これを追加してみてください。これで問題が解決しない場合は、$users の入力方法に関する情報を追加してください。

function createB()
{
    if(!empty($this->users))
    {
        foreach($this->users as $user)
        {
            if($user instanceof User)
            {
                $name = $user->getName();
            }
        }
    }
}
于 2012-07-12T08:54:10.707 に答える