Я искал повсюду, но не могу найти конкретный случай по этому поводу. Я пишу плагин для программы с открытым исходным кодом и использую его класс $ form и функции для рендеринга моих форм без необходимости вставки вручную в HTML.
Я пытаюсь сделать поля выбора минимального возраста (#) и максимального возраста (#), каждое из которых находится в диапазоне от 1 до 100. Я знаю, что что-то подобное можно быстро сделать с помощью чего-то вроде
for ($i = 1; $i <= 99; $i++)
А затем примените $ i к форме на вашей веб-странице. Но так как это программа MVC, я ограничен (по большей части) в том, какие классы, объекты и функции доступны. При создании реальных параметров selectbox в этой программе, вы обычно делаете что-то вроде:
$field->setOptions(array(
"Value"=>"Text Label",
промыть и повторить. Однако, поскольку я пытаюсь составить большой список чисел, я пытаюсь найти способ как-то использовать range () или, возможно, array_push. Я пробовал следующее до сих пор:
function forAge(){
for ($i = 1; $i <= 99; $i++){
$array[] = $i;
}}
$tminage->setOptions(array(
$array[]=>$array[]));
Или пытаясь передать метод «for» и метод range в качестве значения массива. Ни один из них не работает, либо возвращает ошибки, либо ничего не отображает в окне выбора. Я хотел бы знать, есть ли какой-нибудь хороший способ обойти это, или это не имеет смысла из-за определенной функции, которая хочет простой массив со значением и меткой.
Может быть, я что-то здесь упускаю, но я бы сделал следующее:
$minAgeOptions = array();
for ($i = 1; $i <= 100; $i++){
$minAgeOptions[$i] = $i;
}
$tminage->setOptions($minAgeOptions);
Других решений пока нет …