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 ответов


вам нужно использовать конкатенации...

$string .= $value.',';

(уведомление .)...


рассмотрите возможность использования 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'

более подробно:

объединение;

функция rtrim.