2012-01-29 20 views
40

Perché questa uscita 0? Funziona con i numeri anziché con le stringhe. Ho un codice simile in Javascript che funziona anche. PHP non piace + = con le stringhe?Puoi aggiungere stringhe alle variabili in PHP?

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

echo $selectBox; 
?> 
+0

[riferimento per gli operatori di PHP] (http://stackoverflow.com/questions/3737139/ reference-what-does-this-symbol-mean-in-php) – cspray

+1

se non sbaglio, + in PHP è solo per l'aggiunta, non per l'accodamento – Joseph

risposta

93

Questo perché PHP utilizza il carattere punto . per concatenazione di stringhe, non il personaggio più +. Quindi per aggiungere una stringa che si desidera utilizzare l'operatore .=:

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

In PHP uso .= ad appendere le stringhe, e non +=.

+= è un operatore aritmetico per aggiungere un numero a un altro numero. L'utilizzo di quell'operatore con stringhe porta a una conversione automatica del tipo. Nel caso dell'OP, le stringhe sono state convertite in numeri interi del valore 0.


più su operatori in PHP:

Problemi correlati