3v4l.org

run code in 300+ PHP versions simultaneously
<?php var_export([ // haystack, then needle '0:1' => strpbrk('0', '1'), // false '1:0' => strpbrk('1', '0'), // false '0:0' => strpbrk('0', '0'), // '0' '1:1' => strpbrk('1', '1'), // '1' 'a:b' => strpbrk('a', 'b'), // false 'b:a' => strpbrk('b', 'a'), // false 'a:a' => strpbrk('a', 'a'), // 'a' 'b:b' => strpbrk('b', 'b'), // 'b' 'a as bool' => (bool)'a', 'a as int' => (int)'a', 'a as bool then int' => (int)(bool)'a', ]); echo "\n---\n"; $params = [ ['one' => '0', 'two' => '1', 'three' => '0', 'four' => '1', 'five' => 'a', 'six' => 'b', 'seven' => 'a', 'eight' => 'b'], // haystacks ['three' => '0', 'one' => '1', 'four' => '1', 'two' => '0', 'five' => 'a', 'eight' => 'b', 'six' => 'b', 'seven' => 'a'], // needles 'strpbrk' ]; var_export([ 'udiff' => array_udiff_assoc(...$params), 'uintersect' => array_uintersect_assoc(...$params), ]);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/50pAX
function name:  (null)
number of ops:  66
compiled vars:  !0 = $params
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'var_export'
    5     1        INIT_FCALL                                               'strpbrk'
          2        SEND_VAL                                                 '0'
          3        SEND_VAL                                                 '1'
          4        DO_ICALL                                         $1      
          5        INIT_ARRAY                                       ~2      $1, '0%3A1'
    6     6        INIT_FCALL                                               'strpbrk'
          7        SEND_VAL                                                 '1'
          8        SEND_VAL                                                 '0'
          9        DO_ICALL                                         $3      
         10        ADD_ARRAY_ELEMENT                                ~2      $3, '1%3A0'
    7    11        INIT_FCALL                                               'strpbrk'
         12        SEND_VAL                                                 '0'
         13        SEND_VAL                                                 '0'
         14        DO_ICALL                                         $4      
         15        ADD_ARRAY_ELEMENT                                ~2      $4, '0%3A0'
    8    16        INIT_FCALL                                               'strpbrk'
         17        SEND_VAL                                                 '1'
         18        SEND_VAL                                                 '1'
         19        DO_ICALL                                         $5      
         20        ADD_ARRAY_ELEMENT                                ~2      $5, '1%3A1'
    9    21        INIT_FCALL                                               'strpbrk'
         22        SEND_VAL                                                 'a'
         23        SEND_VAL                                                 'b'
         24        DO_ICALL                                         $6      
         25        ADD_ARRAY_ELEMENT                                ~2      $6, 'a%3Ab'
   10    26        INIT_FCALL                                               'strpbrk'
         27        SEND_VAL                                                 'b'
         28        SEND_VAL                                                 'a'
         29        DO_ICALL                                         $7      
         30        ADD_ARRAY_ELEMENT                                ~2      $7, 'b%3Aa'
   11    31        INIT_FCALL                                               'strpbrk'
         32        SEND_VAL                                                 'a'
         33        SEND_VAL                                                 'a'
         34        DO_ICALL                                         $8      
         35        ADD_ARRAY_ELEMENT                                ~2      $8, 'a%3Aa'
   12    36        INIT_FCALL                                               'strpbrk'
         37        SEND_VAL                                                 'b'
         38        SEND_VAL                                                 'b'
         39        DO_ICALL                                         $9      
         40        ADD_ARRAY_ELEMENT                                ~2      $9, 'b%3Ab'
   13    41        BOOL                                             ~10     'a'
         42        ADD_ARRAY_ELEMENT                                ~2      ~10, 'a+as+bool'
   14    43        CAST                                          4  ~11     'a'
         44        ADD_ARRAY_ELEMENT                                ~2      ~11, 'a+as+int'
   15    45        BOOL                                             ~12     'a'
         46        CAST                                          4  ~13     ~12
         47        ADD_ARRAY_ELEMENT                                ~2      ~13, 'a+as+bool+then+int'
         48        SEND_VAL                                                 ~2
    3    49        DO_ICALL                                                 
   18    50        ECHO                                                     '%0A---%0A'
   20    51        ASSIGN                                                   !0, <array>
   26    52        INIT_FCALL                                               'var_export'
   27    53        INIT_FCALL                                               'array_udiff_assoc'
         54        SEND_UNPACK                                              !0
         55        CHECK_UNDEF_ARGS                                         
         56        DO_ICALL                                         $16     
         57        INIT_ARRAY                                       ~17     $16, 'udiff'
   28    58        INIT_FCALL                                               'array_uintersect_assoc'
         59        SEND_UNPACK                                              !0
         60        CHECK_UNDEF_ARGS                                         
         61        DO_ICALL                                         $18     
         62        ADD_ARRAY_ELEMENT                                ~17     $18, 'uintersect'
         63        SEND_VAL                                                 ~17
   26    64        DO_ICALL                                                 
   29    65      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
150.66 ms | 1010 KiB | 17 Q