3v4l.org

run code in 500+ PHP versions simultaneously
<?php var_export([ // haystack, then needle 'a:aa' => str_contains('a', 'aa'), // false ...cast to 0 'aa:a' => str_contains('aa', 'a'), // true ...cast to 1 'a:a' => str_contains('a', 'a'), // true ...cast to 1 'aa:aa' => str_contains('aa', 'aa'), // true ...cast to 1 ]); echo "\n---\n"; $params = [ ['one' => 'a', 'two' => 'aa', 'three' => 'a', 'four' => 'aa'], // haystacks ['three' => 'a', 'one' => 'aa', 'four' => 'aa', 'two' => 'a'], // needles 'str_contains' ]; 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/iXC4s
function name:  (null)
number of ops:  27
compiled vars:  !0 = $params
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                                   'var_export'
    5     1        FRAMELESS_ICALL_2                str_contains        ~1      'a', 'aa'
          2        INIT_ARRAY                                           ~2      ~1, 'a%3Aaa'
    6     3        FRAMELESS_ICALL_2                str_contains        ~3      'aa', 'a'
          4        ADD_ARRAY_ELEMENT                                    ~2      ~3, 'aa%3Aa'
    7     5        FRAMELESS_ICALL_2                str_contains        ~4      'a', 'a'
          6        ADD_ARRAY_ELEMENT                                    ~2      ~4, 'a%3Aa'
    8     7        FRAMELESS_ICALL_2                str_contains        ~5      'aa', 'aa'
          8        ADD_ARRAY_ELEMENT                                    ~2      ~5, 'aa%3Aaa'
          9        SEND_VAL                                                     ~2
    3    10        DO_ICALL                                                     
   11    11        ECHO                                                         '%0A---%0A'
   13    12        ASSIGN                                                       !0, <array>
   19    13        INIT_FCALL                                                   'var_export'
   20    14        INIT_FCALL                                                   'array_udiff_assoc'
         15        SEND_UNPACK                                                  !0
         16        CHECK_UNDEF_ARGS                                             
         17        DO_ICALL                                             $8      
         18        INIT_ARRAY                                           ~9      $8, 'udiff'
   21    19        INIT_FCALL                                                   'array_uintersect_assoc'
         20        SEND_UNPACK                                                  !0
         21        CHECK_UNDEF_ARGS                                             
         22        DO_ICALL                                             $10     
         23        ADD_ARRAY_ELEMENT                                    ~9      $10, 'uintersect'
         24        SEND_VAL                                                     ~9
   19    25        DO_ICALL                                                     
   22    26      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
161.9 ms | 1902 KiB | 18 Q