0
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key]['field_test'] = $wrapper ->field_test ->value();

上記のコードは正常に動作しますが、チェーンされたプロパティを変数に置き換えると機能しません。

$field_name = 'myfield';
$wrapper = entity_metadata_wrapper('myentity',$entity); 
$data[$key][$field_name] = $wrapper ->$field_name ->value();

エラー:「PHP エラー: 関数名は文字列でなければなりません」

どうすればこれを回避できますか? ありがとうございました

4

1 に答える 1

2

変化する:

$data[$key][$field_name] = $wrapper->$field_name->value();

$data[$key][$field_name] = $wrapper->{$field_name}->value();

参照::カーリー構文

于 2014-01-10T10:54:19.030 に答える