4

データベースからレコードを取得しています。サイト言語に基づいて動的に作成されているというフィールドがありますcontent_fr_fr

テーブルからすべてのレコードを取得すると、もちろんcontent_frフィールドが得られます。私がする必要があるのは、 $content が存在しないので理にかなっていますが、 $content が存在しないため、case _fr連結しようとすると$row->content.'_fr'エラーが発生する場合に、これに手動でサフィックスを割り当てることです。標準配列を使用すると、のように実行でき、正常に動作しましたが、stdClass を使用するとエラーが発生します。Notice: Undefined property: stdClass::$content$content_fr$row['content_fr']

$row->content.'_fr'phpがそれを と見なすように、どうすれば1つの文字列に変換でき$row->content_frますか?

4

3 に答える 3

15

このようにしてみてください:

$row -> {'content_' . $language}; // assuming $language = 'fr'
于 2011-11-27T19:48:34.057 に答える
2

次のように実行できます。

$row->{'content_fr'};

編集:ちなみに、この質問はここで何度も尋ねられています。次のような以前のスレッドを参照してください: Accessing object's properties like if the objects were array

于 2011-11-27T19:43:14.093 に答える
0

次のようなことを試してください:

$lang = 'fr';
$property = 'content_' . $lang; // content_fr
$row->$property = 'something';
于 2011-11-27T19:43:15.247 に答える