#php #arrays #multidimensional-array
#php #массивы #многомерный массив
Вопрос:
Я хотел бы выполнить поиск в массиве, подобном приведенному ниже, в поисках pair2.php.net — какой был бы наиболее эффективный способ поиска по домену? Оператор foreach с циклическим использованием stripos?
Array
(
[0] => Array
(
[host] => php.net
[type] => MX
[pri] => 5
[target] => pair2.php.net
[class] => IN
[ttl] => 6765
)
[1] => Array
(
[host] => php.net
[type] => A
[ip] => 64.246.30.37
[class] => IN
[ttl] => 8125
)
)
Вот мой рабочий код из предложения первого комментария — был бы другой способ более эффективным?
$search = 'secureserver.net';
$x='no!';
foreach($result AS $array1)
{
foreach($array1 AS $array2)
{
if(stripos($array2,$search))
{
$x='yes!';
}
}
}
echo $x;
Комментарии:
1. Вы могли бы использовать вложенный цикл foreach.
2. Всегда ли он будет находиться под $array[$number][‘target’]?
3. Нет, потому что, насколько я знаю, он не всегда будет в MX в DNS. Ищу индикаторы почтового домена, и я полагаю, что некоторые из них будут в записи A, поэтому я думаю, что мне нужно выполнить поиск по всем полям.
Ответ №1:
вы могли бы использовать один цикл for и использовать конструкцию ‘in_array’ в php для поиска значения в массиве :-
in_array( ‘pair2.php.net ‘, $sub_array );