0

Undefined property: stdClass::$company エラーが発生します。

これで直ります

   if(isset($exp->company){
       /stuff here
      }

しかし、私はたくさんのオブジェクトを持っているので、それぞれにそれをしなければなりません。これを修正するよりクリーンな方法はありますか?

これが全体です

   function test() {
 foreach($_POST['experience'] as $experience)
    {

       $exp=(object)$experience;

    }

             }
4

3 に答える 3

1

クラスは、家の建築計画のようなものです。オブジェクトは、計画に従って建てられた家です。

を使用すると、次のstdClassようなことが起こります。トイレがあるかどうかを知らずに、「トイレを使いたい」と尋ねます。トイレが無いと大変なことになります(クソ)。

構築計画を立てるようにしてください。たとえば、a を使用せずstdClassに独自のクラスを記述します。次に、どのプロパティとメソッドが事前に存在するかを知っています。

それ以外の場合は、あなたが行うすべての動きで尋ねる必要があります: その部屋は存在しますか?if(isset($exp->company)

于 2012-10-11T14:17:38.603 に答える
0

はい、きれいな方法があります。ルートに移動する必要があります。これらの stdClass インスタンスはどこで作成しますか? そこに行き、null必要なすべてのプロパティを定義しますが、それらのプロパティの一部しか入力していません。

これらの stdClass オブジェクトをインスタンス化せずに に保存した場合は、の前にカスタム クラスを作成$_SESSIONする必要があります。includesession_start

于 2012-10-11T14:23:04.230 に答える
0

あなたの質問は漠然としていますが、これが役立つかもしれません

foreach ($exp as $object)
{
   // do stuf to $object
}
于 2012-10-11T14:11:59.093 に答える