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 ответов
рассмотрите возможность использования implode для этого конкретного сценария.
$string = implode(',', $employeeAges);
вы также можете попробовать
$string = '';
foreach( $employeeAges as $value){
$string .= $value.',';
}
Я пробовал это, и это работает.
foreach( $employeeAges as $key => $value){
$string .= $value.',';
}
вы сбрасываете свою строковую переменную каждый раз через цикл. Выполнение вышеизложенного объединяет $value в $string для каждой итерации цикла.
попробовать
$string = '';
foreach( $employeeAges as $key => $value){
$string .= $value.',';
}
С $string = $value.', '; вы перезаписываете $string каждый раз, поэтому вы получаете только последнее значение.
$string .= $value.',';
использовать объединение ставится двоеточие перед знаком равенства.
Вы можете использовать этот многословный синтаксис:
$string = $string . $value . ',';
попробуйте это эхо должно быть внутри {}
стало ОК
$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
или другим способом
foreach( $employeeAges as $key => $value){
$string .= $value.',';
}
echo $string;
вход:
$array = [1,2,3,4]
сохранить все данные в одном строка:
$string = "";
foreach( $array as $key => $value){
$string .= $value.',';
}
выход:
$string = '1,2,3,4,'
удалить последней запятой:
$string = rtrim($string, ',');
выход:
$string = '1,2,3,4'
более подробно: