クラスがあり、それぞれが常に同じ命名形式を持つ日付関連のメンバー変数を持っています-field_{$node->type}_date
たとえば、ノード タイプが「車」の場合、日付フィールドの名前はfield_car_date
そのため、すべてのノードをループしており、それぞれの日付関連フィールドにアクセスしたいと考えています。しかし、私はエラーが発生しています。これがコードです
$date_field_key = 'field_' . $node->type . '_date';
if (isset($node->$date_field_key['und'][0]['value'])) {
2 行目でエラーが発生します。エラーは次のとおりです-Illegal string offset 'und'
日付関連の変数は配列であり、キー「und」を持つ要素があります。行を明示的に書き出すと、$node->field_car_date['und'][0]['value']
問題なく動作します。この問題が発生するのは、フィールド名を動的に作成するときだけです。
これに対する解決策はありますか、私の構文は間違っていますか?