1

次のコードを使用して、キーインデックスUNDの配列を読み取ろうとしています。

dsm( $node->$settings['field'][$node->language] );

設定配列には次のものが含まれます。

Array
(
    [id] => 70
    [type] => event
    [field] => field_event_form_s_
)

ただし、次のエラーが発生します。

Notice: Undefined property: stdClass::$f in webform_questionnaire_validation_init() (line 27 of /var/www/mysite/sites/all/modules/anthonynolan/webform_questionnaire_validation/webform_questionnaire_validation.module).

アップデート

要求に応じて27行目のコード:

dsm( $node->$settings['field'][$node->language] );
4

1 に答える 1

0

を使用する必要があります$node->{$settings['field']}[$node->language]

次のテストコードで試してみましたが、動作します。

$node = new stdClass();
$node->language = 'und';
$node->field_event_form_s_ = array(
  'und' => array( 0 => 'Bingo!'),
);

$settings = array(
  'field' => 'field_event_form_s_'
);

dsm($node->{$settings['field']}[$node->language]);

最後の行を次のように置き換えるとdsm($node->$settings['field'][$node->language]);、次のエラーが発生します。

注意:未定義のプロパティ:eval()のstdClass :: $ f(/Library/WebServer/Documents/dr72/sites/all/modules/devel/devel.module(1285):eval()のコードの11行目)。

于 2012-12-18T16:43:22.323 に答える