3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = "# 12 # # # Hello World"; $strArr = explode(' ', $str); $strArrKeys = array_keys($strArr, '#'); $strArrSplit = array_pop($strArrKeys) + 1; //all after the last # $subArr = array_slice($strArr, $strArrSplit); echo implode(' ', $subArr); //all before the last # (inluding the #). $subArr = array_slice($strArr, 0, $strArrSplit); echo implode(' ', $subArr);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/EaU8i
function name:  (null)
number of ops:  38
compiled vars:  !0 = $str, !1 = $strArr, !2 = $strArrKeys, !3 = $strArrSplit, !4 = $subArr
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%23+12++%23++%23+%23+Hello+World'
    4     1        INIT_FCALL                                               'explode'
          2        SEND_VAL                                                 '+'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $6      
          5        ASSIGN                                                   !1, $6
    6     6        INIT_FCALL                                               'array_keys'
          7        SEND_VAR                                                 !1
          8        SEND_VAL                                                 '%23'
          9        DO_ICALL                                         $8      
         10        ASSIGN                                                   !2, $8
    7    11        INIT_FCALL                                               'array_pop'
         12        SEND_REF                                                 !2
         13        DO_ICALL                                         $10     
         14        ADD                                              ~11     $10, 1
         15        ASSIGN                                                   !3, ~11
   10    16        INIT_FCALL                                               'array_slice'
         17        SEND_VAR                                                 !1
         18        SEND_VAR                                                 !3
         19        DO_ICALL                                         $13     
         20        ASSIGN                                                   !4, $13
   11    21        INIT_FCALL                                               'implode'
         22        SEND_VAL                                                 '+'
         23        SEND_VAR                                                 !4
         24        DO_ICALL                                         $15     
         25        ECHO                                                     $15
   14    26        INIT_FCALL                                               'array_slice'
         27        SEND_VAR                                                 !1
         28        SEND_VAL                                                 0
         29        SEND_VAR                                                 !3
         30        DO_ICALL                                         $16     
         31        ASSIGN                                                   !4, $16
   15    32        INIT_FCALL                                               'implode'
         33        SEND_VAL                                                 '+'
         34        SEND_VAR                                                 !4
         35        DO_ICALL                                         $18     
         36        ECHO                                                     $18
         37      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.16 ms | 1396 KiB | 23 Q