Ответ 1
Используйте array_slice и implode:
$k = array( "Hello", "World", "text" );
$sliced = array_slice($k, 0, -1); // array ( "Hello", "World" )
$string = implode(" ", $sliced); // "Hello World";
У меня это прямо сейчас:
$s = preg_split('/\s+/', $q);
$k = end($s);
Теперь я хочу получить все значения в массиве $k[]
, кроме последнего, и объединить их в новую строку. Итак, в основном, если массив был:
0 => Hello
1 => World
2 => text
Я бы получил Hello World
Используйте array_slice и implode:
$k = array( "Hello", "World", "text" );
$sliced = array_slice($k, 0, -1); // array ( "Hello", "World" )
$string = implode(" ", $sliced); // "Hello World";
Если вы можете изменить массив:
array_pop($k);
$string = join(' ', $k);
array_pop() выдает и возвращает последнее значение массива, сокращая массив на один элемент. Если массив пуст (или не является массивом), возвращается NULL.
Используйте array_slice($array)
, чтобы получить подмножество любого массива.
Для всех без последнего элемента я считаю, что это
$return = array_slice($array, 0, count($array)-1, true);
Testcase http://codepad.org/fyHHX5Us
Что-то вроде этого:
<?php
$array = array('Hello', 'World', 'text');
$new_array = array_slice($array,0,-1);
echo implode(' ',$new_array);
?>