3v4l.org

run code in 300+ PHP versions simultaneously
<?php $originalParams = array( 'id' => 42, 'title' => 'nope', 'desc' => 'meh', 'visible' => true, ); $params = $originalParams; unset($params['id']); $params['visible'] = true; $originalData['visible'] = false; $changes = array_diff($params, $originalData); print_r($params); print_r($originalData); if (!$changes || !count($changes)) { print_r($changes); die('Not change'); return; } print_r($changes); die('change');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 20, Position 2 = 23
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 24, Position 2 = 29
Branch analysis from position: 24
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 29
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 23
filename:       /in/bUVRq
function name:  (null)
number of ops:  34
compiled vars:  !0 = $originalParams, !1 = $params, !2 = $originalData, !3 = $changes
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
    8     1        ASSIGN                                                   !1, !0
   11     2        UNSET_DIM                                                !1, 'id'
   13     3        ASSIGN_DIM                                               !1, 'visible'
          4        OP_DATA                                                  <true>
   14     5        ASSIGN_DIM                                               !2, 'visible'
          6        OP_DATA                                                  <false>
   16     7        INIT_FCALL                                               'array_diff'
          8        SEND_VAR                                                 !1
          9        SEND_VAR                                                 !2
         10        DO_ICALL                                         $8      
         11        ASSIGN                                                   !3, $8
   17    12        INIT_FCALL                                               'print_r'
         13        SEND_VAR                                                 !1
         14        DO_ICALL                                                 
   18    15        INIT_FCALL                                               'print_r'
         16        SEND_VAR                                                 !2
         17        DO_ICALL                                                 
   20    18        BOOL_NOT                                         ~12     !3
         19      > JMPNZ_EX                                         ~12     ~12, ->23
         20    >   COUNT                                            ~13     !3
         21        BOOL_NOT                                         ~14     ~13
         22        BOOL                                             ~12     ~14
         23    > > JMPZ                                                     ~12, ->29
   21    24    >   INIT_FCALL                                               'print_r'
         25        SEND_VAR                                                 !3
         26        DO_ICALL                                                 
   22    27      > EXIT                                                     'Not+change'
   23    28*       RETURN                                                   null
   25    29    >   INIT_FCALL                                               'print_r'
         30        SEND_VAR                                                 !3
         31        DO_ICALL                                                 
   26    32      > EXIT                                                     'change'
         33*     > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.65 ms | 1396 KiB | 17 Q