Ответы пользователя по тегу PHP
  • Как конкатенировать элементы массива в цикле?

    mizutsune
    @mizutsune
    I will live forever in the flame of your eyes.
    Можно обойтись и без цикла, если нужно просто объединить элементы массива в одну строку. Для решения подобных задач лучше подходит функция implode:

    // implode
    $arr = ["1", "2", "3"];
    $result = implode("", $arr);
    echo $result; // 123


    Или функция join:

    $arr = ["1", "2", "3"];
    $result = join("", $arr);
    echo $result; // 123


    Однако если по каким-то причинам, функции implode/join не подходят, например в случае если нужно проделать какие-то дополнительные действия с элементами массива перед конкатенацией, тогда можно воспользоваться циклами - for, foreach, etc.

    $arr = ["1", "2", "3"];
    $result = "";
    
    foreach ($arr as $key => $item) {
        $result .= $item;
    }
    
    echo $result; // 123


    Альтернативным вариантом является использование функции array_reduce, правда для решения такой простой задачи - данная функция выглядит слегка избыточной.

    $arr = ["1", "2", "3"];
    $result = array_reduce($arr, fn ($acc, $item) => $acc .= $item);
    
    echo $result; // 123
    Ответ написан
    2 комментария