Это мой код:
<?php $date = 2015-02-30; $year = substr($date, 0, 4); $month = substr($date, 5, 2); $day = substr($date, 8, 2); ?> <select> <?php for ($i=1; $i < 31; $i++) { ?> <option value="<?php echo $i; ?>" <?php if($day === $i){ echo "selected"; }; ?>><?php echo $i; ?></option> <?php } ?> </select>
Для параметра необходимо выбрать номер 4. Почему это не работает? благодаря
Извините, у меня уже было это в выражении select
EDIT: см. Приведенный выше код. Может быть, потому, что
Вам нужно обернуть свой код в оператор select !
Операция с параметром не будет работать без тега select вокруг него:
<html> <body> <select> <!-- Start the select statement --> <!-- Your Code --> <?php $num = 4; for ($i=1; $i < 10; $i++) { ?> <option value="<?php echo $i; ?>" <?php if($num === $i){ echo "selected"; }; ?>><?php echo $i; ?></option> <?php } ?> <!-- End your code --> </select> <!-- End the select statement --> </body> </html>
После редактирования вы увидите, что это ваша главная проблема:
$date = 2015-02-30;
Это не то, что вы думаете. Он должен быть указан следующим образом:
$date = '2015-02-30';
В противном случае $date
не является строкой, это математическое выражение, которое вычисляет значение (int) 1983
, поэтому substr($date, 8, 2);
будет оцениваться как false
, а не 30
, а затем, очевидно, ваш выбор не будет выбран.