2012-01-29 10 views
40

¿Por qué esta salida 0? Funciona con números en lugar de cadenas perfectamente. Tengo un código similar en Javascript que también funciona. ¿PHP no le gusta + = con cadenas?¿Puede agregar cadenas a variables en PHP?

<?php 
$selectBox = '<select name="number">'; 
for ($i=1;$i<=100;$i++) 
{ 
    $selectBox += '<option value="' . $i . '">' . $i . '</option>'; 
} 
$selectBox += '</select>'; 

echo $selectBox; 
?> 
+0

[Referencia para los operadores de PHP] (http://stackoverflow.com/questions/3737139/ reference-what-does-this-symbol-mean-in-php) – cspray

+1

si no me equivoco, + en PHP es solo para agregar, no para agregar – Joseph

Respuesta

93

Esto es debido a que PHP utiliza el carácter de época . para la concatenación de cadenas, no el carácter más +. Por lo tanto, para añadir a una cadena que desea utilizar el operador .=:

for ($i=1;$i<=100;$i++) 
{ 
    $selectBox .= '<option value="' . $i . '">' . $i . '</option>'; 
} 
$selectBox .= '</select>'; 
Cuestiones relacionadas