我想将本年度开始的年份列表拖放到另外8年,但它正在列出它们。我无法从下拉列表中选择年份,因为它们都已列出。我希望他们下拉列表,以便从列表中选择我想要的那个。
<?php
class BirthYear
{
public function year(){
$years = array(date("Y"));
foreach($years as $year){
for($i=0; $i < 8; $i++){
$y = $year++;
echo $y."<br>";
}
}
}
}
$y = new BirthYear();
//echo $y->year();
?>
<html>
<style>
label {
font-size: 1rem;
padding-right: 10px;
}
select {
font-size: .9rem;
padding: 2px 5px;
}
</style>
<select name="birthYear" id="birthYear-select">
<option value="">Please choose an option</option>
<option value=""><?php echo $y->year();?></option>
</select>
</html>
您在这里走! year()函数现在返回从当前年份到下一个8年的年份。您没有遍历数组,甚至没有返回year()的任何东西,这导致它为null。
<?php
class BirthYear
{
public function year()
{
$current_year = date("Y");
$target_year = $current_year + 8;
$years = array();
do {
array_push($years, $current_year);
$current_year++;
} while ($target_year >= $current_year);
return $years;
}
}
$y = new BirthYear();
$years = $y->year();
?>
<select name="birthYear" id="birthYear-select">
<option value="">Please choose an option</option>
<?php foreach ($years as $year) { ?>
<option value="<?php echo $year; ?>"><?php echo $year; ?></option>
<?php } ?>
</select>
使用类似这样的内容:
<?php
class BirthYear
{
public function year(){
$y = array();
$year = date("Y");
for($i=0; $i < 8; $i++){
$y[] = $year++;
}
return $y;
}
}
$y = new BirthYear();
?>
<html>
<style>
label {
font-size: 1rem;
padding-right: 10px;
}
select {
font-size: .9rem;
padding: 2px 5px;
}
</style>
<select name="birthYear" id="birthYear-select">
<option value="">Please choose an option</option>
<?php foreach($y->year() as $year) {
echo "<option value=\"$year\">$year</option>\n";
}
?>
</select>
</html>