Вот массив 1:
Array ( [ABC01] => 10.123.456.78
[ABC02] => 10.123.456.79
[ABC03] => 10.123.456.80
[ZYX99] => 10.123.456.81
)
Вот массив 2:
Array ( [0] => ABC01
[1] => ABC02
[2] => ABC03
)
Я пытаюсь найти разницу между этими двумя массивами и вернуть следующее (как видите, имя хоста, а затем соответствующий IP-адрес элемента, не найденного в массиве 2):
Array ( [ZYX99] => 10.123.456.81)
Я просматривал различные функции PHP-массивов и поражен их количеством: http://www.w3schools.com/php/php_ref_array.asp
Это должно работать для вас:
(Здесь я только что использовал array_diff_key()
чтобы получить разницу ключей. Второй массив я перевернул array_flip()
так что поменяй значения на ключи)
<?php
$arr1 = array(
"ABC01" => "10.123.456.78",
"ABC02" => "10.123.456.79",
"ABC03" => "10.123.456.80",
"ZYX99" => "10.123.456.81");
$arr2 = array("ABC01", "ABC02", "ABC03");
$result = array_diff_key ($arr1, array_flip($arr2));
print_r($result);
?>
Выход:
Array ( [ZYX99] => 10.123.456.81 )
Других решений пока нет …