<?php
declare(strict_types=1);
function findNetworkWithIPAddress(array $payload, string $ipAddress): array
{
$network = array_values(array_filter($payload, function (array $networkInfo) use ($ipAddress) {
$address = $networkInfo['address'] ?? '';
/** for PHP < 8.0 */
// return substr($address, 0, strlen($ipAddress)) === $ipAddress;
/** for PHP >= 8.0 */
return str_starts_with($address, $ipAddress);
}));
return reset($network) ?: [];
}
$payload = [
[
".id" => "*1",
"address" => "10.9.4.109/24",
"network" => "10.9.4.0",
"interface" => "ether1",
"actual-interface" => "ether1",
"invalid" => false,
"dynamic" => false,
"disabled" => false,
],
[
".id" => "*2",
"address" => "10.9.4.209/24",
"network" => "10.9.4.0",
"interface" => "ether2",
"actual-interface" => "ether2",
"invalid" => false,
"dynamic" => false,
"disabled" => false,
],
];
$network = findNetworkWithIPAddress($payload, '10.9.4.209');
$interfaceName = $network['interface'] ?? '';
var_dump($interfaceName);
preferences:
48.75 ms | 402 KiB | 5 Q