Получение всех значений в массиве, кроме последнего

У меня это прямо сейчас:

$s = preg_split('/\s+/', $q);
    $k = end($s);

Теперь я хочу получить все значения в массиве $k[], кроме последнего, и объединить их в новую строку. Итак, в основном, если массив был:

0 => Hello
1 => World
2 => text

Я бы получил Hello World

Ответ 1

Используйте array_slice и implode:

$k = array( "Hello", "World", "text" );
$sliced = array_slice($k, 0, -1); // array ( "Hello", "World" )
$string = implode(" ", $sliced);  // "Hello World";

Ответ 2

Если вы можете изменить массив:

array_pop($k);
$string = join(' ', $k);

array_pop() выдает и возвращает последнее значение массива, сокращая массив на один элемент. Если массив пуст (или не является массивом), возвращается NULL.

Источник

Ответ 3

Используйте array_slice($array), чтобы получить подмножество любого массива.

Для всех без последнего элемента я считаю, что это

$return = array_slice($array, 0, count($array)-1, true);

Testcase http://codepad.org/fyHHX5Us

Ответ 4

Что-то вроде этого:

<?php

    $array = array('Hello', 'World', 'text');
    $new_array = array_slice($array,0,-1);
    echo implode(' ',$new_array);

?>

Пример