¿Por qué no lo hará esta iteración PHP trabajo?
-
11-09-2019 - |
Pregunta
Quiero hacer los resultados de un bucle foreach en una variable de cadena que puede utilizar más adelante en todo (por lo que no es necesario pegar el bucle foreach en todas partes). Tengo esto:
foreach($pairs as $d=>$m) {
$orderedpairs .= "[".$d."],[".$m."]"+"<br />";
}
echo $orderedpairs;
Si sustituyo el operador de asignación con "eco", que funciona bien, por lo que el bucle está bien, yo creo que es sólo la asignación de la variable que está en cuestión. Gracias!
Solución
El signo más es la causa de su concatenación falle - cambiarlo a un .
Al contrario de lo que otros dicen , el alcance de la variable no es el problema. puede declarar dentro de un bucle y acceder a ellos después de que . las variables de PHP no están en el ámbito como Java, C #, y otros idiomas.
Otros consejos
Tiene un + allí para la concatenación. Es necesario.
Además, debe definir $ orderedpairs como una cadena vacía antes del bucle.
Hay realmente no hay necesidad de concatenar con el operador en su caso, sólo se puede hacer:
$orderedpairs .= "[$d],[$m]<br />";
y PHP reemplazará las variables con sus valores.
tiene $ orderedpairs sido declarada como una cadena vacía antes de que el bucle para crear una instancia y lo pongo en el alcance? También se debe a la final + en realidad una. ?