我有一个从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;
但这没效果......
我如何获得这些值?
答案 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 ...;