8
A
答えて
23
使用中括弧のような何かをしたい使用して:
$object->{'my_' . $variable}
6
これはどう:
$object->{"my_$variable"};
PHPドキュメントのthis sectionが参考になると思います。つまり、任意の式を中括弧で書くことができます。その結果(文字列)は、対処すべきプロパティの名前になります。たとえば:
$x = new StdClass();
$x->s1 = 'def';
echo $x->{'s' . print("abc\n")};
// prints
// abc
// def
...まだ通常(、ところで、意味のある名前を付けることができます)一時変数には、この式の結果を格納するためにはるかに読みやすいです。このように:あなたが見たよう
$x = new StdClass();
$x->s1 = 'def';
$someWeirdPropertyName = 's' . print("abc\n"); // becomes 's1'.
echo $x->$someWeirdPropertyName;
、このアプローチは、中括弧は必要ありませんになり、リーダーのプロパティ名を構成するもののうちの少なくともいくつか説明します。 )
P.S. print
は、変数名の表現の潜在的な複雑さを示すためにのみ使用されています。この種のコードは認定試験でよく使用されますが、そのようなことを生産に使用することは大きな「ノー」です。 )
+0
ありがとう、私は2つのダニを与えることができればあなたも1つ持っています。 – user1209203
関連する問題
- 1. 動的オブジェクト - Tidyプロパティ名?
- 2. フロータイプのオブジェクトの動的プロパティ名
- 3. Java ArrayListの動的名前オブジェクト
- 4. 名前からオブジェクトのプロパティを名前で別のオブジェクトにプル
- 5. JSONという名前のオブジェクトと名前のプロパティの配列
- 6. オブジェクトのプロパティの動的値
- 7. オブジェクトのプロパティの名前変更
- 8. PHP動的な名前空間
- 9. php - 動的変数名を前にチェック
- 10. VBAの動的プロパティ名
- 11. antでの動的プロパティ名
- 12. 動的な名前を持つ動的なjsonオブジェクト質問
- 13. OOP PHP - オブジェクトと関数の名前を動的に構築/実行する
- 14. 動的モデルのプロパティは、名前でモデルプロパティを取得
- 15. JSオブジェクトのプロパティ名を動的に設定する方法
- 16. newtonsoftプロパティの動的オブジェクト名を逆シリアル化する
- 17. 動的クラスメソッドの名前
- 18. オブジェクトCの動的オブジェクトプロパティ名
- 19. c#.NETの動的オブジェクト名
- 20. C#、動的オブジェクト名?
- 21. 角度動的なプロパティ名
- 22. PHPの動的関数名
- 23. 複数の動的オブジェクトのプロパティ
- 24. 配列内のオブジェクトに動的に名前を付ける
- 25. 静的メソッドの名前でオブジェクトを
- 26. PHP動的クラスの読み込みと名前空間
- 27. PHP - addattachmentにファイルの名前を動的に追加するPHPmailer
- 28. 動的クラスのプロパティ$$の値はPHPで
- 29. .find()動的プロパティ名を使用したネストされたオブジェクト
- 30. 動的プロパティ名を持つオブジェクトを作成する方法
動的変数を使用することはできますが、明示的にすることが望ましいことがよくあります。後でリファクタリングを容易にします。 "my_cat"というプロパティーを検索したとしたら、それが動的に宣言されていれば見つからないでしょう。 – Revent