24

1 から 10 までの値を出力するループがあります。

$entity_object->field_question_110までなので...

$entity_object->field_question_1$entity_object->field_question_2、など

そして、これをこのループで出力したいのですが、どうすれば変数を取得できますか? やってみました

$var = "entity_object->field_question_".$i;
print $$var;

しかし、それはうまくいきませんでした...

これらの値を取得するにはどうすればよいですか?

4

5 に答える 5

47

これはうまくいくはずです:

$var="field_question_$i";
$entity_object->$var;
于 2012-06-06T17:22:20.570 に答える
10

まず第一に、配列はやりたいことにより適しています。

あなたの質問への答え:print $entity_object->{"field_question_$i"};

于 2012-06-06T17:25:40.400 に答える
2

PHP 7 にアップグレードすると、次のようなステートメントで問題が発生しました。

$variable->$node[$i] = true;

これは PHP 5.4 では問題なく機能しましたが、PHP 7 では Web サイト全体がクラッシュしました。したがって、次のように置き換えます。

$variable->{$node[$i]} = true;

この問題を解決するために。

于 2017-06-01T07:10:28.880 に答える
0

または、配列とオブジェクトの間で型キャストすることもできます。

配列は、整理されており、簡単にアクセスできるという点で単純です。オブジェクトはかなり異なりますが、多くのプロのものとは異なります。

オブジェクトを次のように設定します。

$entity_object["field_question_{$i}"] = ''//value;

次に、オブジェクトに型キャストできます。

$entity_object = (object)$entity_object;

次に、それらを次のように参照します。

$entity_object->field_question_1 ...;
于 2012-06-06T17:36:15.373 に答える