こんにちは私はDrupalで作業しており、私は非常にfamilierではない私は、これらの 'セレクタ'の違いは何ですか?正しい言葉)?php配列セレクタ
これは、エラーが発生し、「致命的なエラー:中...配列としてのタイプはstdClassのオブジェクトを使用することはできません」この作品
$node['field_geoloc']
(IMがあれば、それを使用して=空文!)
$node->field_geoloc
うまく簡単な質問... ありがとうございます。
こんにちは私はDrupalで作業しており、私は非常にfamilierではない私は、これらの 'セレクタ'の違いは何ですか?正しい言葉)?php配列セレクタ
これは、エラーが発生し、「致命的なエラー:中...配列としてのタイプはstdClassのオブジェクトを使用することはできません」この作品
$node['field_geoloc']
(IMがあれば、それを使用して=空文!)
$node->field_geoloc
うまく簡単な質問... ありがとうございます。
かなり簡単...エラーがそれをすべて言う:
"Fatal error: Cannot use object of type stdClass as array in..."
あなたは、配列のようなオブジェクトを使用しようとしています。
オブジェクトのプロパティは、以前使用していた方法012Bを使用してアクセシブルにアクセスできません。あなたがオブジェクトを持っている場合は、あなたがget_object_varsメソッドを使用して、その配列からプロパティを取得することができます
`$object->property`
:あなたは次のようにプロパティにアクセスする必要があります。しかし、Drupalの$ノードでこのメソッドを使うべきではないという経験から知っています。
ありがとう、私は学ぶべきことがたくさんある!:) – Purplemonkey
私は思考の中で正しい=>は、オブジェクトプロパティに値を変更/挿入するのと反対です。 – mintuz
オブジェクトを配列として使用することはできません。
最初は配列で、2番目はオブジェクトです。
最初のものは配列であり、2番目のものは(クラスStdClassの)オブジェクトです。 しかし、あなたは、このインタフェースに興味があるかもしれない:http://php.net/manual/en/class.arrayaccess.php配列としてオブジェクトにアクセスすることができます(そう、あなたが$ OBJ [「キー」]ではなく$ obj->キーの)
->
は、パブリックオブジェクトのプロパティにアクセスするための演算子です(そしてパブリックメソッドを呼び出す)。オブジェクトプロパティを$object['key']
構文でアクセスするには、ArrayAccessを実装する必要があります。その他のオプションは、アレイ($node = (array) $node
(にオブジェクトをキャストすることですが、これが唯一の最初のレベルのキーのために働く、例えばそれは$node['page']['title']
に$node->page->title
$node['page']
に$node->page
をオンにしませんが - 後には$node['page']->title
を経由してアクセスすることができます多くのコードを表示します--- –