"Fossies" - the Fresh Open Source Software Archive

Member "php-8.0.28-src/ext/simplexml/tests/000.phpt" (14 Feb 2023, 4284 Bytes) of package /windows/www/php-8.0.28-src.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 --TEST--
    2 SimpleXML: var_dump()
    3 --SKIPIF--
    4 <?php if (!extension_loaded("simplexml")) print "skip"; ?>
    5 --FILE--
    6 <?php
    7 
    8 $sxe = simplexml_load_file(__DIR__.'/000.xml');
    9 
   10 function test($what)
   11 {
   12     global $sxe;
   13     echo "===$what\n";
   14     eval("var_dump(isset(\$$what));");
   15     eval("var_dump((bool)\$$what);");
   16     eval("if (isset(\$$what)) var_dump(count(\$$what));");
   17     eval("var_dump(\$$what);");
   18 }
   19 
   20 test('sxe');
   21 test('sxe->elem1');
   22 test('sxe->elem1[0]');
   23 test('sxe->elem1[0]->elem2');
   24 test('sxe->elem1[0]->elem2->bla');
   25 test('sxe->elem1[0]["attr1"]');
   26 test('sxe->elem1[0]->attr1');
   27 test('sxe->elem1[1]');
   28 test('sxe->elem1[2]');
   29 test('sxe->elem11');
   30 test('sxe->elem11->elem111');
   31 test('sxe->elem11->elem111->elem1111');
   32 test('sxe->elem22');
   33 test('sxe->elem22->elem222');
   34 test('sxe->elem22->attr22');
   35 test('sxe->elem22["attr22"]');
   36 
   37 ?>
   38 --EXPECTF--
   39 ===sxe
   40 bool(true)
   41 bool(true)
   42 int(3)
   43 object(SimpleXMLElement)#%d (3) {
   44   ["@attributes"]=>
   45   array(1) {
   46     ["id"]=>
   47     string(3) "123"
   48   }
   49   ["elem1"]=>
   50   array(2) {
   51     [0]=>
   52     string(36) "There is some text.Here is some more"
   53     [1]=>
   54     object(SimpleXMLElement)#%d (1) {
   55       ["@attributes"]=>
   56       array(2) {
   57         ["attr1"]=>
   58         string(2) "11"
   59         ["attr2"]=>
   60         string(2) "12"
   61       }
   62     }
   63   }
   64   ["elem11"]=>
   65   object(SimpleXMLElement)#%d (1) {
   66     ["elem111"]=>
   67     object(SimpleXMLElement)#%d (1) {
   68       ["elem1111"]=>
   69       object(SimpleXMLElement)#%d (0) {
   70       }
   71     }
   72   }
   73 }
   74 ===sxe->elem1
   75 bool(true)
   76 bool(true)
   77 int(2)
   78 object(SimpleXMLElement)#%d (3) {
   79   ["@attributes"]=>
   80   array(2) {
   81     ["attr1"]=>
   82     string(5) "first"
   83     ["attr2"]=>
   84     string(6) "second"
   85   }
   86   ["comment"]=>
   87   object(SimpleXMLElement)#%d (0) {
   88   }
   89   ["elem2"]=>
   90   object(SimpleXMLElement)#%d (2) {
   91     ["@attributes"]=>
   92     array(2) {
   93       ["att25"]=>
   94       string(2) "25"
   95       ["att42"]=>
   96       string(2) "42"
   97     }
   98     ["elem3"]=>
   99     object(SimpleXMLElement)#%d (1) {
  100       ["elem4"]=>
  101       object(SimpleXMLElement)#%d (1) {
  102         ["test"]=>
  103         object(SimpleXMLElement)#%d (0) {
  104         }
  105       }
  106     }
  107   }
  108 }
  109 ===sxe->elem1[0]
  110 bool(true)
  111 bool(true)
  112 int(1)
  113 object(SimpleXMLElement)#%d (3) {
  114   ["@attributes"]=>
  115   array(2) {
  116     ["attr1"]=>
  117     string(5) "first"
  118     ["attr2"]=>
  119     string(6) "second"
  120   }
  121   ["comment"]=>
  122   object(SimpleXMLElement)#%d (0) {
  123   }
  124   ["elem2"]=>
  125   object(SimpleXMLElement)#%d (2) {
  126     ["@attributes"]=>
  127     array(2) {
  128       ["att25"]=>
  129       string(2) "25"
  130       ["att42"]=>
  131       string(2) "42"
  132     }
  133     ["elem3"]=>
  134     object(SimpleXMLElement)#%d (1) {
  135       ["elem4"]=>
  136       object(SimpleXMLElement)#%d (1) {
  137         ["test"]=>
  138         object(SimpleXMLElement)#%d (0) {
  139         }
  140       }
  141     }
  142   }
  143 }
  144 ===sxe->elem1[0]->elem2
  145 bool(true)
  146 bool(true)
  147 int(1)
  148 object(SimpleXMLElement)#%d (2) {
  149   ["@attributes"]=>
  150   array(2) {
  151     ["att25"]=>
  152     string(2) "25"
  153     ["att42"]=>
  154     string(2) "42"
  155   }
  156   ["elem3"]=>
  157   object(SimpleXMLElement)#%d (1) {
  158     ["elem4"]=>
  159     object(SimpleXMLElement)#%d (1) {
  160       ["test"]=>
  161       object(SimpleXMLElement)#%d (0) {
  162       }
  163     }
  164   }
  165 }
  166 ===sxe->elem1[0]->elem2->bla
  167 bool(false)
  168 bool(false)
  169 object(SimpleXMLElement)#%d (0) {
  170 }
  171 ===sxe->elem1[0]["attr1"]
  172 bool(true)
  173 bool(true)
  174 int(0)
  175 object(SimpleXMLElement)#%d (1) {
  176   [0]=>
  177   string(5) "first"
  178 }
  179 ===sxe->elem1[0]->attr1
  180 bool(false)
  181 bool(false)
  182 object(SimpleXMLElement)#%d (0) {
  183 }
  184 ===sxe->elem1[1]
  185 bool(true)
  186 bool(true)
  187 int(0)
  188 object(SimpleXMLElement)#%d (1) {
  189   ["@attributes"]=>
  190   array(2) {
  191     ["attr1"]=>
  192     string(2) "11"
  193     ["attr2"]=>
  194     string(2) "12"
  195   }
  196 }
  197 ===sxe->elem1[2]
  198 bool(false)
  199 bool(false)
  200 NULL
  201 ===sxe->elem11
  202 bool(true)
  203 bool(true)
  204 int(1)
  205 object(SimpleXMLElement)#%d (1) {
  206   ["elem111"]=>
  207   object(SimpleXMLElement)#%d (1) {
  208     ["elem1111"]=>
  209     object(SimpleXMLElement)#%d (0) {
  210     }
  211   }
  212 }
  213 ===sxe->elem11->elem111
  214 bool(true)
  215 bool(true)
  216 int(1)
  217 object(SimpleXMLElement)#%d (1) {
  218   ["elem1111"]=>
  219   object(SimpleXMLElement)#%d (0) {
  220   }
  221 }
  222 ===sxe->elem11->elem111->elem1111
  223 bool(true)
  224 bool(true)
  225 int(1)
  226 object(SimpleXMLElement)#%d (0) {
  227 }
  228 ===sxe->elem22
  229 bool(false)
  230 bool(false)
  231 object(SimpleXMLElement)#%d (0) {
  232 }
  233 ===sxe->elem22->elem222
  234 bool(false)
  235 bool(false)
  236 NULL
  237 ===sxe->elem22->attr22
  238 bool(false)
  239 bool(false)
  240 NULL
  241 ===sxe->elem22["attr22"]
  242 bool(false)
  243 bool(false)
  244 NULL