1--TEST-- 2TokenList: dimensions 3--EXTENSIONS-- 4dom 5--FILE-- 6<?php 7 8$dom = DOM\XMLDocument::createFromString('<root class="A B C 0"/>'); 9$list = $dom->documentElement->classList; 10 11foreach (range(-1, 4) as $i) { 12 echo "--- $i ---\n"; 13 var_dump($list[$i], isset($list[$i]), empty($list[$i])); 14} 15 16echo "--- \"0\" ---\n"; 17var_dump($list["0"], isset($list["0"]), empty($list["0"])); 18 19echo "--- \"foo\" ---\n"; 20try { 21 var_dump($list["foo"], isset($list["foo"]), empty($list["foo"])); 22} catch (TypeError $e) { 23 echo $e->getMessage(), "\n"; 24} 25 26echo "--- 1.1 ---\n"; 27var_dump($list[1.1], isset($list[1.1]), empty($list[1.1])); 28 29echo "--- true ---\n"; 30var_dump($list[true], isset($list[true]), empty($list[true])); 31 32echo "--- false ---\n"; 33var_dump($list[false], isset($list[false]), empty($list[false])); 34 35echo "--- ref ---\n"; 36$tmp = 2; 37$ref =& $tmp; 38var_dump($list[$ref], isset($list[$ref]), empty($list[$ref])); 39 40?> 41--EXPECTF-- 42--- -1 --- 43NULL 44bool(false) 45bool(true) 46--- 0 --- 47string(1) "A" 48bool(true) 49bool(false) 50--- 1 --- 51string(1) "B" 52bool(true) 53bool(false) 54--- 2 --- 55string(1) "C" 56bool(true) 57bool(false) 58--- 3 --- 59string(1) "0" 60bool(true) 61bool(true) 62--- 4 --- 63NULL 64bool(false) 65bool(true) 66--- "0" --- 67string(1) "A" 68bool(true) 69bool(false) 70--- "foo" --- 71Cannot access offset of type string on Dom\TokenList 72--- 1.1 --- 73 74Deprecated: Implicit conversion from float 1.1 to int loses precision in %s on line %d 75 76Deprecated: Implicit conversion from float 1.1 to int loses precision in %s on line %d 77 78Deprecated: Implicit conversion from float 1.1 to int loses precision in %s on line %d 79string(1) "B" 80bool(true) 81bool(false) 82--- true --- 83string(1) "B" 84bool(true) 85bool(false) 86--- false --- 87string(1) "A" 88bool(true) 89bool(false) 90--- ref --- 91string(1) "C" 92bool(true) 93bool(false) 94