Shortcut for: $foo = explode(“ ”, “bla ble bli”); echo $foo[0]

后端 未结 9 1378
清歌不尽
清歌不尽 2020-12-19 15:48

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         


        
相关标签:
9条回答
  • 2020-12-19 16:23

    With only one expression I can think of:

    echo list($a) = explode(' ', 'a b c') ? $a : '';
    echo list($_, $b) = explode(' ', 'a b c') ? $b : '';
    
    0 讨论(0)
  • 2020-12-19 16:24

    (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
    ?>
    
    0 讨论(0)
  • 2020-12-19 16:27

    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]
    
    0 讨论(0)
提交回复
热议问题