Можете ли вы добавить строки в переменные в PHP?

Почему этот вывод 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:

  • Ссылка. Что означает этот символ в PHP?
  • Руководство PHP – Операторы