3v4l.org

run code in 300+ PHP versions simultaneously
<?php class AddressModes { const INET4_ADDR = 1; const INET6_ADDR = 2; const PREFER_INET6 = 4; } function getRequestList($mode) { $result = []; $blahBlah = [ (AddressModes::PREFER_INET6 | AddressModes::INET6_ADDR) => AddressModes::INET6_ADDR, (AddressModes::PREFER_INET6 | AddressModes::INET4_ADDR) => AddressModes::INET4_ADDR, (AddressModes::INET4_ADDR) => AddressModes::INET4_ADDR, (AddressModes::INET6_ADDR) => AddressModes::INET6_ADDR, ]; foreach ($blahBlah as $requirement => $value) { if ($mode & $requirement) { $result[] = $value; break; } } return $result; } var_dump(getRequestList(AddressModes::INET4_ADDR | AddressModes::INET6_ADDR)); var_dump(getRequestList(AddressModes::INET4_ADDR | AddressModes::INET6_ADDR | AddressModes::PREFER_INET6)); var_dump(getRequestList(AddressModes::INET4_ADDR)); var_dump(getRequestList(AddressModes::INET6_ADDR));

preferences:
37.99 ms | 402 KiB | 5 Q