is there a way to get the n-th element of a splitted string without using a variable?
My PHP code always looks like this:
$foo = explode(\" \", \"bla
With only one expression I can think of:
echo list($a) = explode(' ', 'a b c') ? $a : '';
echo list($_, $b) = explode(' ', 'a b c') ? $b : '';
(Not really an answer per se -- others did answer pretty well)
This is one of the features that should arrive with one of the next versions of PHP (PHP 5.4, maybe).
For more informations, see Features in PHP trunk: Array dereferencing -- quoting one of the given examples :
<?php
function foo() {
return array(1, 2, 3);
}
echo foo()[2]; // prints 3
?>
This is what people should be using instead of explode
most of the time:
$foo = strtok("bla ble bli", " ");
It cuts off the first string part until the first " "
.
If you can't let go of explode, then the closest idiom to accomplish [0]
like in Python is:
$foo = current(explode(...));
If it's not just the first element, then it becomes a tad more cumbersome:
$foo = current(array_slice(explode(...), 2)); // element [2]