Ответ 1
Это должно работать:
$var="field_question_$i";
$entity_object->$var;
У меня есть цикл, который идет от 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;
Но это не сработало...
Как я могу получить эти значения?
Это должно работать:
$var="field_question_$i";
$entity_object->$var;
На самом деле вам нужно взять переменную за пределами строки, как это, чтобы эти решения работали:
$var="field_question_".$i;
$entity_object->$var;
Или
$entity_object->{"field_question_".$i}
Прежде всего, массивы более подходят для того, что вы хотите сделать.
Ответ на ваш вопрос: print $entity_object->{"field_question_$i"};
При обновлении до PHP 7 у нас возникла проблема с такими утверждениями, как:
$variable->$node[$i] = true;
Это работало отлично оштрафовано в PHP 5.4, но в PHP 7 произошел сбой всего веб-сайта. Поэтому мы заменяем его на:
$variable->{$node[$i]} = true;
Чтобы решить проблему
Или вы можете выводить типы между массивами и объектами.
Массив прост в том, что они организованы и легко доступны. Объекты довольно разные, но у многих профессионалов.
Задайте свои объекты следующим образом:
$entity_object["field_question_{$i}"] = ''//value;
Затем они могут быть приписаны к объекту:
$entity_object = (object)$entity_object;
Затем вы ссылались на них следующим образом:
$entity_object->field_question_1 ...;