<?php
declare(strict_types=1);
require __DIR__.'/StrictWire.php';$cases=[
['object-order',json_decode('{"a":1,"b":"2"}'),json_decode('{"b":"2","a":1}'),true],
['array-order',[1,2],[2,1],false],
['string-number','1.50',1.5,false],
['integer-float',2,2.0,false],
['empty-object-array',(object)[],[],false],
['null-empty',null,'',false],
['missing-key',(object)['a'=>1],(object)['a'=>1,'b'=>null],false],
['nested-object-order',json_decode('{"list":[{"a":1,"b":2}]}'),json_decode('{"list":[{"b":2,"a":1}]}'),true],
['nested-array-order',json_decode('{"list":[1,2]}'),json_decode('{"list":[2,1]}'),false],
];foreach($cases as [$name,$a,$b,$want])if(strictWireEqual($a,$b)!==$want)throw new RuntimeException('Strict JSON regression '.$name);echo json_encode(['cases'=>count($cases),'all_passed'=>true,'object_key_order_only_ignored'=>true,'array_order_scalar_type_and_empty_container_strict'=>true]),"\n";
