1--TEST-- 2Register Alloction 001: Spilling in "identical" code 3--INI-- 4opcache.enable=1 5opcache.enable_cli=1 6opcache.file_update_protection=0 7opcache.jit_buffer_size=1M 8opcache.protect_memory=1 9--EXTENSIONS-- 10opcache 11--FILE-- 12<?php 13class Caster 14{ 15 const EXCLUDE_PUBLIC = 8; 16 const EXCLUDE_PRIVATE = 32; 17 const EXCLUDE_STRICT = 512; 18 19 public static function filter(array $a, $filter): int 20 { 21 foreach ($a as $k => $v) { 22 if (!isset($k[1])) { 23 $type |= self::EXCLUDE_PUBLIC; 24 } else { 25 $type |= self::EXCLUDE_PRIVATE; 26 } 27 28 if ((self::EXCLUDE_STRICT & $filter) ? $type === $filter : $type) { 29 } 30 } 31 32 return $a; 33 } 34 35} 36?> 37OK 38--EXPECT-- 39OK 40