1--TEST-- 2Bug #80332 (Completely broken array access functionality with DOMNamedNodeMap) - DOMNodeList variation 3--EXTENSIONS-- 4dom 5--FILE-- 6<?php 7 8$doc = new DOMDocument; 9$doc->loadXML('<?xml version="1.0"?><span><strong id="1"/><strong id="2"/></span>'); 10 11$list = $doc->getElementsByTagName('strong'); 12 13function test($list, $key) { 14 $key_formatted = match ($key) { 15 false => 'false', 16 true => 'true', 17 null => 'null', 18 default => is_string($key) ? "'$key'" : $key, 19 }; 20 echo "list[$key_formatted] id attribute: ", $list[$key] ? $list[$key]->getAttribute('id') : '/', "\n"; 21} 22 23test($list, 0); 24test($list, false); 25test($list, true); 26test($list, null); 27test($list, '0'); 28test($list, '0.5'); 29test($list, '1'); 30// These two should fail because there's no named lookup possible here 31test($list, 'attr2'); 32test($list, 'hi'); 33// This one should fail because it's out of bounds 34test($list, '2147483647'); 35 36?> 37--EXPECT-- 38list[0] id attribute: 1 39list[false] id attribute: 1 40list[true] id attribute: 2 41list[null] id attribute: 1 42list['0'] id attribute: 1 43list['0.5'] id attribute: 1 44list['1'] id attribute: 2 45list['attr2'] id attribute: / 46list['hi'] id attribute: / 47list['2147483647'] id attribute: / 48