如何在php中使用foreach循环和range()函数填充下拉列表

如何在php中使用foreach循环和range()函数填充下拉列表,php,Php,我试图用php中的下拉框显示用户选择的日期。在我的代码中,我使用range函数来启动和停止,然后我使用循环来填充下拉列表。但它只显示范围内的结束编号。如何修复它,使下拉框显示1921-2021年 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compat

我试图用php中的下拉框显示用户选择的日期。在我的代码中,我使用range函数来启动和停止,然后我使用循环来填充下拉列表。但它只显示范围内的结束编号。如何修复它,使下拉框显示1921-2021年

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<form>
    <select>
        <option selected="selected"></option>
        <?php
        foreach (range(1921,2021,1) as $Years){  
            echo "$Years, ";  
        } 
        // A sample product array
        $products = array("$Years");
        
        // Iterating through the product array
        foreach($products as $item){
            echo "<option selected ='strtolower($item)'>$item</option>";
        }
        ?>
    </select>
    <input type="submit" value="Submit">
</form>
</body>
</html>

文件

这是因为您在每个循环中重写了
$Years
变量

您应该创建一个值数组,然后迭代它们

<?php
   // A sample product array
   $products = array();

   foreach (range(1921,2021,1) as $Years){  
        echo "$Years, ";
        $products[] = $Years;  <---- add year into array
   }
        
   // Iterating through the product array
   foreach($products as $item){
       echo "<option selected ='strtolower($item)'>$item</option>";
   }
?>

将此简单代码与一个foreach一起使用:


文件

您是否需要
$products
相关部件?是否可以在
范围()
相关循环内使用
部分?