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:
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.