Почему этот вывод 0? Он отлично работает с числами вместо строк. У меня есть аналогичный код в Javascript, который также работает. PHP не нравится + = со строками?
<?php $selectBox = '<select name="number">'; for ($i=1;$i<=100;$i++) { $selectBox += '<option value="' . $i . '">' . $i . '</option>'; } $selectBox += '</select>'; echo $selectBox; ?>
Это связано с тем, что PHP использует символ периода .
для конкатенации строк, а не плюс +
. Поэтому для добавления к строке вы хотите использовать оператор .=
:
for ($i=1;$i<=100;$i++) { $selectBox .= '<option value="' . $i . '">' . $i . '</option>'; } $selectBox .= '</select>';
В PHP используйте .=
Для добавления строк , а не +=
.
+=
– это арифметический оператор для добавления числа к другому числу. Использование этого оператора со строками приводит к автоматическому преобразованию типов. В случае OP строки были преобразованы в целые числа значения 0
.
Подробнее об операторах в PHP: