2010-08-20 12 views
8

Ich denke, das ist wahrscheinlich eine sehr einfache, aber ich kann meinen Kopf herumkommen! Wie kann ich jedes Schleifenergebnis nur in eine Variable setzen? zum Beispielphp foreach: setze jedes der Schleife Ergebnis in einer Variablen

$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 

Vielen Dank, Lau

Antwort

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

Gebrauch zu verwenden, Setzen Sie einen Punkt vor das Gleichheitszeichen.

können Sie diese ausführliche Syntax:

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

dank so viel entfernen! :-) – laukok

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

Sie Ihre String-Variable jedes Mal durch Ihre Schleife zurückgesetzt wird. Durch das obige Verfahren wird für jede Schleifeniteration $ value mit $ string verknüpft.

+0

vielen dank! :-))) – laukok

2

Ähm, was ist damit?

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

Sie setzen die Variable jedes Mal zurück, das beginnt mit der leeren Zeichenfolge und hängt jedes Mal etwas an. Aber es gibt wahrscheinlich bessere Möglichkeiten, solche Aufgaben zu tun, wie implode in diesem Fall.

+0

vielen Dank! :-) – laukok

2

Versuchen

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

Mit $ value $ string = ''. Sie überschreiben jedesmal $ string, so dass Sie nur den letzten Wert erhalten.

+0

vielen dank! :-) – laukok

9

Verwenden Sie implode für dieses spezifische Szenario.

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

können Sie auch versuchen,

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

ich versucht, und es funktioniert.innerhalb

1

dieses Echo Versuchen sein muss, dann wurde {} ok

$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 

oder andere Art und Weise

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

     } 
      echo $string; 
1

Eingang:

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

speichern alle Daten in einer Zeichenfolge:

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

Ausgang:

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

entfernen letzte Komma:

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

Ausgang:

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

Weitere Informationen über:

concatenation;

rtrim.

Verwandte Themen