0

いくつかのphpコーディングを行う必要がありますが、私はまったく初めてです。問題は、$mgm_member というオブジェクトからプロパティ値を取得しようとしていたことです。このオブジェクトは、ウェブサイトのメンバー情報を記録する wordpress プラグインからのものです。最初に使用します:

var_dump(get_object_vars($mgm_member)); 

結果は、このオブジェクトに 37 個のプロパティがあり、それらすべてに値があることを示しています。使ってみたより

var_dump($mgm_member->phone);

結果はヌルです。他の多くのプロパティを試しましたが、このオブジェクトの最初のプロパティだけが値を持っています。誰でも私を助けることができますか?どうもありがとうございました。

「電話」のスコープがプライベートの場合、var_dumpはアクセスして表示できないと思いますか?私の場合、var_dump() 関数を使用してすべてのプロパティとその値を表示できますが、1 つのプロパティを取得しようとすると機能しません。ただし、同じコードを使用して最初のプロパティ「id」を取得できます

echo $mgm_member->id;

それは本当に奇妙です。

4

2 に答える 2

0

var_dump(get_object_vars($mgm_member));オブジェクト変数を示します。このコード行でデータを取得している場合は、オブジェクトにデータがあります。

コード内の変数のプロパティにアクセスするには、次のコマンドを使用します$mgm_member->phone。なぜそうしないのですか?

データを変数に配置する場合は、次のようなものを使用できます。

$myVar=$mgm_member->phone;

しかし、それはOOPの目的を打ち破ります。コード全体で正確に参照してみません$mgm_members->phoneか?

編集:あなたが指摘するように、プロパティはprivate、オブジェクト自体だけがそれを使用できることを意味します。オブジェクトを変更することでこれを回避することもできますが、これは厄介なアプローチである可能性があります-理由のためにプライベートです。オブジェクト内の関数を使用して値を表示することはできませんか?または、オブジェクトで使用して、さまざまなプロパティ属性を持つオブジェクトのクローンを返すことができる関数はありますか?

于 2012-08-07T13:22:46.427 に答える