PHP对象变量名称?

时间:2012-06-06 17:21:02

标签: php

我有一个从1到10的循环并在

中打印值

$entity_object->field_question_1到10 ......所以......

$entity_object->field_question_1$entity_object->field_question_2

我想在这个循环中打印这个,我怎样才能获得变量?我试过做

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

但这没效果......

我如何获得这些值?

5 个答案:

答案 0 :(得分:39)

这应该有效:

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

答案 1 :(得分:20)

实际上你需要将变量放在字符串之外,以便这些解决方案能够工作: $var="field_question_".$i;

$entity_object->$var;

$entity_object->{"field_question_".$i}

答案 2 :(得分:9)

首先,数组更适合您想要做的事情。

您的回答是:print $entity_object->{"field_question_$i"};

答案 3 :(得分:1)

升级到PHP 7时,我们遇到了以下语句的问题:

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

在PHP 5.4中完全被罚款但在PHP 7中导致整个网站崩溃。所以我们将其替换为:

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

解决问题

答案 4 :(得分:0)

或者你可以在数组和对象之间进行类型转换。

数组的简单之处在于它们的组织和易于访问。对象完全不同,但许多专业人士都不同。

像这样设置对象:

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

然后可以对它们进行类型转换:

$entity_object = (object)$entity_object;

然后你会像:

那样引用它们
$entity_object->field_question_1 ...;