3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* * we named the three blocks: block1, block2, block3 so they're easily identifiable. * we removed element "widget_section" from block2. * we filter the $blocks array for all sub-arrays with key "widget_section", * if found, we store the sub-array in result array $store. * * Result: $store will hold only sub-array block1 and block3. */ $blocks = [ ["blockName" => "block1", "attrs" => [ "id" => "block_5eecadb49bb7c", "name" => "acf/home-block-alert", "data" => [ "alert_box" => "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", "_alert_box" => "field_5eecacb7c30b3", "widget_section" => "1", "_widget_section" => "field_5ef5be51d1ce2", ], "mode" => "edit", ], "innerBlocks" => [], "innerHTML" => "", "innerContent" => [], ], ["blockName" => "block2", "attrs" => [ "id" => "block_5eecadb49bb7c", "name" => "acf/home-block-alert", "data" => [ "alert_box" => "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", "_alert_box" => "field_5eecacb7c30b3", "_widget_section" => "field_5ef5be51d1ce2", ], "mode" => "edit", ], "innerBlocks" => [], "innerHTML" => "", "innerContent" => [], ], ["blockName" => "block3", "attrs" => [ "id" => "block_5eecadb49bb7c", "name" => "acf/home-block-alert", "data" => [ "alert_box" => "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", "_alert_box" => "field_5eecacb7c30b3", "widget_section" => "1", "_widget_section" => "field_5ef5be51d1ce2", ], "mode" => "edit", ], "innerBlocks" => [], "innerHTML" => "", "innerContent" => [], ], ]; // only "blockName" block1 and block3 have element "widget_section", block2 does not $store = []; foreach($blocks as $block) { if(isset($block['attrs']['data']['widget_section'])) { $store[] = $block; } } echo '<pre>'; print_r($store); echo '</pre>';
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 11
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 11
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 8, Position 2 = 10
Branch analysis from position: 8
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 10
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
filename:       /in/QblFc
function name:  (null)
number of ops:  18
compiled vars:  !0 = $blocks, !1 = $store, !2 = $block
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   12     0  E >   ASSIGN                                                   !0, <array>
   65     1        ASSIGN                                                   !1, <array>
   66     2      > FE_RESET_R                                       $5      !0, ->11
          3    > > FE_FETCH_R                                               $5, !2, ->11
   67     4    >   FETCH_DIM_IS                                     ~6      !2, 'attrs'
          5        FETCH_DIM_IS                                     ~7      ~6, 'data'
          6        ISSET_ISEMPTY_DIM_OBJ                         0          ~7, 'widget_section'
          7      > JMPZ                                                     ~8, ->10
   68     8    >   ASSIGN_DIM                                               !1
          9        OP_DATA                                                  !2
   66    10    > > JMP                                                      ->3
         11    >   FE_FREE                                                  $5
   72    12        ECHO                                                     '%3Cpre%3E'
   73    13        INIT_FCALL                                               'print_r'
         14        SEND_VAR                                                 !1
         15        DO_ICALL                                                 
   74    16        ECHO                                                     '%3C%2Fpre%3E'
         17      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
136.01 ms | 997 KiB | 14 Q