私は前に出会ったことがない何かに出くわします。 私のテーブルに値があります"Device Vendor"
と私はオブジェクトのデータを返しています。mySql PHP - キーのスペースを持つオブジェクトの値を返します
通常、私は$ob->var_name
を呼び出しますが、明らかに$ob->Device Vendor
は動作しません。
どのように値を返すのですか?
よろしく
私は前に出会ったことがない何かに出くわします。 私のテーブルに値があります"Device Vendor"
と私はオブジェクトのデータを返しています。mySql PHP - キーのスペースを持つオブジェクトの値を返します
通常、私は$ob->var_name
を呼び出しますが、明らかに$ob->Device Vendor
は動作しません。
どのように値を返すのですか?
よろしく
あなたは構文はこれです、次の構文
$ob->{'Device Vendor'}
を使用します。私はこれを明示的に参照を見つけようと苦労してい
$ob->{'Device Vendor'}
PHPマニュアル。私はそれが推論される必要があることを恐れ、あなたはすでに答えを知っている場合にのみ行うことができます。 Classes and Objects-> Propertiesで、彼らは言う:
クラスメンバー変数は "プロパティ"と呼ばれます。 [...]それらは、public、protected、privateのいずれかのキーワードを使用して と定義され、通常の変数宣言によって が続きます。
今適用されるルールはVariable variablesです:
可変変数を配列で使用するためには、 曖昧さの問題を解決しなければなりません。つまり、$$を1と書くと、パーサーは$ 1を変数として使用するのか、$$を 変数として使用し、その変数の1インデックスを使用するのかを知るには が必要です。このあいまいさを解決するための構文 は、最初のケースでは$ {$ a 1}、2番目のケースでは $ {$ a} 1です。
私たちは基本的に変数を乱用しているので、スペースを使用できます。
非常に興味深いの感謝+1 –
すべて小文字でプロパティ名とプロパティ名にアンダースコアとスペースを交換してください:uはOB $を試してみました
if $property = 'Device Vendor';
use $property = 'device_vendor';
$ob->{$property};
- > 'デバイスのベンダー –
わからないが、あなたは、 '$ OBJを試してみました - > 'デバイスベンダー'? – ianbarker