У меня есть цикл, который идет от 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 ...;