У меня есть структура массива из 60 элементов. Я хотел бы использовать for / foreach / while для чтения этой структуры.
Вот что у меня есть:
$this->details->field_link_01[0]['title']
$this->details->field_link_02[0]['title']
..
$this->details->field_link_60[0]['title']
И что мне нужно, это следующее.
$myvar = eval ( "$this->details->field_link_" . $cont . "[0]['title']" )
То, что я видел, это PHP позволяет использовать $ в качестве функции оценки
$myvar = ${"this->details->field_link_" . $cont . "[0]['title']" }
Но это не сработало.
Есть ли другое решение? Какая версия PHP? 5.2, 5.6, 7?
Посмотри на Переменные переменные а также Sprintf.
for ($i = 1; $i <= 60; $i++) {
$fieldName = sprintf("field_link_%02d", $i);
$fieldLink = $this->details->$fieldName;
$myvar = $fieldLink[0]['title'];
echo $myvar;
}
Других решений пока нет …