Abrufen aller Werte in einem Array außer dem letzten

Lesezeit: 2 Minuten

Ich habe das gerade:

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

Was ich jetzt möchte, ist, alle Werte im Array zu erhalten $k[] außer dem letzten, und verbinden Sie sie in einer neuen Kette. Also im Grunde, wenn das Array war:

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

ich würde bekommen Hello World

Joshs Benutzeravatar
Josch

Verwenden array_slice und implodieren:

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

  • Habe dies zu einem Oneliner gemacht, effiziente Codeline muss ich sagen! implode(“/”, array_slice(explode(“/”, $serverUrl), 0, -1));

    – Eric Herlitz

    8. Oktober 2011 um 19:26 Uhr

  • @EricHerlitz array_slice wird nicht benötigt. explode hat einen dritten Parameter, der array_slice obsolet macht. implode(' ', explode(' ', 'Hello World text', -1)); // "Hello World"

    – Wasserwelt

    20. Oktober 2021 um 7:17 Uhr

  • @SeaWorld Es ist wirklich dasselbe. implode(" ", array_slice(array( "Hello", "World", "text" ), 0, -1)); aber sicher, wenn Sie eine Zeichenfolge haben, mit der Sie beginnen können, ist die Verwendung von explode sinnvoller.

    – Eric Herlitz

    20. Oktober 2021 um 15:04 Uhr

Wenn Sie das Array ändern können:

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

array_pop() ruft den letzten Wert des Arrays ab und gibt ihn zurück, wodurch das Array um ein Element gekürzt wird. Wenn Array leer ist (oder kein Array ist), wird NULL zurückgegeben.

Quelle

  • ich mag array_pop besser als array_slice weil letzteres für diesen speziellen Fall zu allgemein ist.

    – Stanislaw Schabalin

    17. August 2011 um 16:19 Uhr

Verwenden array_slice($array) um eine Teilmenge eines beliebigen Arrays zu erhalten.

Für alles ohne das letzte Element glaube ich

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

Testfall http://codepad.org/fyHHX5Us

Etwas wie das:

<?php

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

?>

Beispiel

1439760cookie-checkAbrufen aller Werte in einem Array außer dem letzten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy