- var_dump: documentation ( source)
<?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));