3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Adds a CDATA property to an XML document. * * @param string $name * Name of property that should contain CDATA. * @param string $value * Value that should be inserted into a CDATA child. * @param object $parent * Element that the CDATA child should be attached too. */ $add_cdata = function($name, $value, &$parent) { $child = $parent->addChild($name); if ($child !== NULL) { $child_node = dom_import_simplexml($child); $child_owner = $child_node->ownerDocument; $child_node->appendChild($child_owner->createCDATASection($value)); } return $child; }; $parent = new SimpleXMLElement('<?xml version="1.0"?><ITEM />'); $child = $add_cdata('name', 'DELL S2721DGFA 68,5cm (27") WQHD IPS', $parent); echo $parent->asXML(), "\n"; echo $child->asXML(), "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/beNHS
function name:  (null)
number of ops:  21
compiled vars:  !0 = $add_cdata, !1 = $parent, !2 = $child
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   DECLARE_LAMBDA_FUNCTION                          ~3      [0]
          1        ASSIGN                                                   !0, ~3
   25     2        NEW                                              $5      'SimpleXMLElement'
          3        SEND_VAL_EX                                              '%3C%3Fxml+version%3D%221.0%22%3F%3E%3CITEM+%2F%3E'
          4        DO_FCALL                                      0          
          5        ASSIGN                                                   !1, $5
   26     6        INIT_DYNAMIC_CALL                                        !0
          7        SEND_VAL_EX                                              'name'
          8        SEND_VAL_EX                                              'DELL+S2721DGFA+68%2C5cm+%2827%22%29+WQHD+IPS'
          9        SEND_VAR_EX                                              !1
         10        DO_FCALL                                      0  $8      
         11        ASSIGN                                                   !2, $8
   27    12        INIT_METHOD_CALL                                         !1, 'asXML'
         13        DO_FCALL                                      0  $10     
         14        ECHO                                                     $10
         15        ECHO                                                     '%0A'
   28    16        INIT_METHOD_CALL                                         !2, 'asXML'
         17        DO_FCALL                                      0  $11     
         18        ECHO                                                     $11
         19        ECHO                                                     '%0A'
         20      > RETURN                                                   1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 21
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
filename:       /in/beNHS
function name:  {closure}
number of ops:  23
compiled vars:  !0 = $name, !1 = $value, !2 = $parent, !3 = $child, !4 = $child_node, !5 = $child_owner
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   14     3        INIT_METHOD_CALL                                         !2, 'addChild'
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0  $6      
          6        ASSIGN                                                   !3, $6
   16     7        TYPE_CHECK                                  1020          !3
          8      > JMPZ                                                     ~8, ->21
   17     9    >   INIT_FCALL                                               'dom_import_simplexml'
         10        SEND_VAR                                                 !3
         11        DO_ICALL                                         $9      
         12        ASSIGN                                                   !4, $9
   18    13        FETCH_OBJ_R                                      ~11     !4, 'ownerDocument'
         14        ASSIGN                                                   !5, ~11
   19    15        INIT_METHOD_CALL                                         !4, 'appendChild'
         16        INIT_METHOD_CALL                                         !5, 'createCDATASection'
         17        SEND_VAR_EX                                              !1
         18        DO_FCALL                                      0  $13     
         19        SEND_VAR_NO_REF_EX                                       $13
         20        DO_FCALL                                      0          
   22    21    > > RETURN                                                   !3
   23    22*     > RETURN                                                   null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
213.11 ms | 1015 KiB | 14 Q