php foreach: поместите каждый результат цикла в одну переменную

Думаю, это очень просто, но я могу разобраться! Как я могу поместить каждый результат цикла только в одну переменную? например,

$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

Большое спасибо, Лау

9
задан laukok 20 August 2010 в 17:48
поделиться

6 ответов

Вам необходимо использовать конкатенацию ...

$string .= $value.',';

(обратите внимание на . ) ...

25
ответ дан 4 December 2019 в 06:01
поделиться

А как насчет этого?

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

Вы каждый раз сбрасываете переменную, это начинается с пустой строки и каждый раз что-то добавляет. Но, вероятно, есть более эффективные способы решения таких задач, например implode в этом случае.

2
ответ дан 4 December 2019 в 06:01
поделиться

Попробуйте

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

с $ string = $ value. ','; вы каждый раз перезаписываете $ string, поэтому вы получаете только последнее значение.

2
ответ дан 4 December 2019 в 06:01
поделиться
foreach( $employeeAges as $key => $value){
    $string .= $value.',';
}

Вы сбрасываете строковую переменную каждый раз во время цикла. Выполнение описанного выше объединяет $ value в $ string для каждой итерации цикла.

3
ответ дан 4 December 2019 в 06:01
поделиться
$string .= $value.',';

Используйте конкатенацию , ставьте точку перед знаком равенства.

Вы можете использовать этот подробный синтаксис:

$string = $string . $value . ',';
1
ответ дан 4 December 2019 в 06:01
поделиться

Рассмотрите возможность использования имплода для этого конкретного сценария.

$string = implode(',', $employeeAges);
9
ответ дан 4 December 2019 в 06:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: