3v4l.org

run code in 500+ 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:  62
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'
    5    41        ADD_ARRAY_ELEMENT                                    ~2      <true>, 'a+as+bool'
         42        ADD_ARRAY_ELEMENT                                    ~2      0, 'a+as+int'
         43        ADD_ARRAY_ELEMENT                                    ~2      1, 'a+as+bool+then+int'
         44        SEND_VAL                                                     ~2
    3    45        DO_ICALL                                                     
   18    46        ECHO                                                         '%0A---%0A'
   20    47        ASSIGN                                                       !0, <array>
   26    48        INIT_FCALL                                                   'var_export'
   27    49        INIT_FCALL                                                   'array_udiff_assoc'
         50        SEND_UNPACK                                                  !0
         51        CHECK_UNDEF_ARGS                                             
         52        DO_ICALL                                             $12     
         53        INIT_ARRAY                                           ~13     $12, 'udiff'
   28    54        INIT_FCALL                                                   'array_uintersect_assoc'
         55        SEND_UNPACK                                                  !0
         56        CHECK_UNDEF_ARGS                                             
         57        DO_ICALL                                             $14     
         58        ADD_ARRAY_ELEMENT                                    ~13     $14, 'uintersect'
         59        SEND_VAL                                                     ~13
   26    60        DO_ICALL                                                     
   29    61      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
275.72 ms | 1945 KiB | 18 Q