2011-08-17 16 views
11

tengo esto ahora:obtener todos los valores de una matriz, excepto la última

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

Lo que quiero ahora es conseguir que todos los valores de la matriz $k[] excepto la última, y ​​unirse a ellos en una nueva cuerda. Así que, básicamente, si la matriz era:

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

me gustaría tener Hello World

Respuesta

29

Uso array_slice y implode:

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

Hecho esto a un oneliner, línea de código eficiente, debo decir! implode ("/", array_slice (explode ("/", $ serverUrl), 0, -1)); –

1

Uso array_slice($array) para obtener un subconjunto de cualquier conjunto.

Por todo sin el último elemento que creen que es

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

caso_prueba http://codepad.org/fyHHX5Us

1

Algo como esto:

<?php 

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

?> 

Example

4

Si se puede modificar la matriz:

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

array_pop() pops y devuelve el último valor de la matriz, acortando la matriz en un elemento. Si la matriz está vacía (o no es una matriz), se devolverá NULL.

Source

+1

Me gusta 'array_pop' mejor que' array_slice' porque este último es demasiado general para este caso específico. –

Cuestiones relacionadas