У меня есть массив массивов, созданных с использованием следующего кода. Я пытаюсь получить это, чтобы перебрать и заполнить выпадающий список.
$names = $db->fetchAll("select `name` from `classes`");
Это то, что хранится в переменной $ names.
Массив ([0] => Массив ([имя] => Веб-дизайн) [1] => Массив ([имя] => История искусств) [2] => Массив ([имя] => Тренажерный зал) [3] = > Array ([name] => Русский) [4] => Array ([name] => Biology) [5] => Array ([name] => 3D-анимация) [6] => Array ([name] = > Технический диск) [7] => Массив ([name] => Math) [8] => Массив ([name] => Dance) [9] => Массив ([имя] => Производство видео) [10] => Array ([name] => Home Ec) [11] => Array ([name] => Government) [12] => Array ([name] => Physics))
У меня есть этот раскрывающийся список, созданный и он работает, но он кодируется вручную для каждого значения в массиве. Я хочу изменить это, чтобы он «перебирал» все результаты в массиве, чтобы создать раскрывающийся список.
<label for="per1"></label> <select name="per1" id="per1"> <option selected="selected">Choose one</option> <option value="<?php echo $names[0]['name'];?>"><?php echo $names[0]['name'];?></option> <option value="<?php echo $names[1]['name'];?>"><?php echo $names[1]['name'];?></option> <option value="<?php echo $names[2]['name'];?>"><?php echo $names[2]['name'];?></option> <option value="<?php echo $names[3]['name'];?>"><?php echo $names[3]['name'];?></option> <option value="<?php echo $names[4]['name'];?>"><?php echo $names[4]['name'];?></option> <option value="<?php echo $names[5]['name'];?>"><?php echo $names[5]['name'];?></option> <option value="<?php echo $names[6]['name'];?>"><?php echo $names[6]['name'];?></option> <option value="<?php echo $names[7]['name'];?>"><?php echo $names[7]['name'];?></option> <option value="<?php echo $names[8]['name'];?>"><?php echo $names[8]['name'];?></option> <option value="<?php echo $names[9]['name'];?>"><?php echo $names[9]['name'];?></option> <option value="<?php echo $names[10]['name'];?>"><?php echo $names[10]['name'];?></option> <option value="<?php echo $names[11]['name'];?>"><?php echo $names[11]['name'];?></option> <option value="<?php echo $names[12]['name'];?>"><?php echo $names[12]['name'];?></option> </select>
Кто-то может помочь?
Это решение работает для текущих версий PHP. Простой случай использования foreach:
<select name="per1" id="per1"> <option selected="selected">Choose one</option> <?php foreach($names as $name) { ?> <option value="<?= $name['name'] ?>"><?= $name['name'] ?></option> <?php } ?> </select>
Это решение работает для более старых версий PHP. Простой случай использования foreach:
<select name="per1" id="per1"> <option selected="selected">Choose one</option> <?php foreach($names as $name) { ?> <option value="<?php echo $name['name'] ?>"><?php echo $name['name'] ?></option> <?php } ?> </select>
я думаю, этого достаточно
foreach($names as $key =>$value) {?> <option value="<?=$value['name']?>"><?=$value['name']?></option> <?php }
Пойдите для каждого цикла, чтобы избежать такой кодировки.
<?php foreach($names as $nameIndex=>$nameVal){ ?> <option value=$nameVal['name']?>"><?=$nameVal['name']?> </option> <?php } ?>