2010-08-20 26 views
8

Creo que esto es probablemente muy simple pero puedo entenderlo. ¿Cómo puedo poner cada resultado del bucle en una sola variable? por ejemplo,php foreach: ponga cada resultado del bucle en una variable

$employeeAges; 
$employeeAges["Lisa"] = "28"; 
$employeeAges["Jack"] = "16"; 
$employeeAges["Ryan"] = "35"; 
$employeeAges["Rachel"] = "46"; 
$employeeAges["Grace"] = "34"; 

foreach($employeeAges as $key => $value){ 
    $string = $value.','; 
} 

echo $string; 
// result 34, 
// but I want to get - 28,16,35,46,34, - as the result 

Muchas gracias, Lau

Respuesta

1
$string .= $value.','; 

Uso del concatenation, pon un punto antes del signo igual.

Se puede utilizar esta sintaxis detallado:

$string = $string . $value . ','; 
+0

muchas gracias! :-) – laukok

3
foreach($employeeAges as $key => $value){ 
    $string .= $value.','; 
} 

Usted está reposicionando la cadena variable cada vez a través de su bucle. Hacer lo anterior concatena $ value a $ string para cada iteración de bucle.

+0

muchas gracias! :-))) – laukok

2

Um, ¿qué tal esto?

$string = ""; 
foreach($employeeAges as $key => $value){ 
    $string .= $value.','; 
} 

Está restableciendo la variable cada vez, esta comienza con la cadena vacía y se agrega algo cada vez. Pero hay maneras mucho mejores de hacer tales tareas, como implode en este caso.

+0

muchas gracias! :-) – laukok

2

Trate

$string = ''; 
foreach($employeeAges as $key => $value){ 
    $string .= $value.','; 
} 

Con $ cadena = valor $ '.'; está sobrescribiendo $ string cada vez, por lo que solo obtiene el último valor.

+0

muchas gracias! :-) – laukok

9

Considere el uso de implode para este escenario específico.

$string = implode(',', $employeeAges); 
7

También puede intentar

$string = ''; 
foreach($employeeAges as $value){ 
    $string .= $value.','; 
} 

lo he intentado y funciona.

1

Pruebe este eco debe estar dentro continuación {} convirtió bien

$employeeAges; 
    $employeeAges["Lisa"] = "28"; 
    $employeeAges["Jack"] = "16"; 
    $employeeAges["Ryan"] = "35"; 
    $employeeAges["Rachel"] = "46"; 
    $employeeAges["Grace"] = "34"; 

    foreach($employeeAges as $key => $value){ 
     $string = $value.','; 
     echo $string; 

    } 

    // result - 28,16,35,46,34, - as the result 

u otra manera

foreach($employeeAges as $key => $value){ 
      $string .= $value.','; 

     } 
      echo $string; 
1

de entrada:

$array = [1,2,3,4] 

Guardar todos los datos en una cadena:

$string = ""; 
    foreach($array as $key => $value){ 
     $string .= $value.','; 
    } 

Salida:

$string = '1,2,3,4,' 

Retire última coma:

$string = rtrim($string, ','); 

Salida:

$string = '1,2,3,4' 

Más información sobre: ​​

concatenation;

rtrim.

Cuestiones relacionadas