Поиск значений массива в другом многомерном массиве Переполнение стека

У меня есть массив БД:

Array
(
[28] => Array
(
[0] => child
[1] => baby
[2] => new d
[3] => christmas
)

[29] => Array
(
[0] => christmas
)

[30] => Array
(
[0] => business
[1] => stock
)

[32] => Array
(
[0] => apparel
[1] =>  clothing
[2] =>  contemporary apparel
)

[49] => Array
(
[0] => car rental
[1] => car rent
[2] => rent car
[3] => rent a car
[4] => car rentals
[5] => car1 rentals1
)
)

У меня есть другой массив
Поиск значений этого массива в вышеуказанном массиве
массив («рождество», «одежда»);

Итак, я хочу получить результат: 28,29,32 (Это ключ массива)

0

Решение

Попробуй это —

$b = array("christmas","apparel");
$keys = array();
foreach ($dbArray as $key => $values) {
$check = array_intersect($values, $b);
if (!empty($check)) {
$keys[] = $key;
}
}
4

Другие решения

Ниже приведена рекурсивная функция для поиска значения в многомерном массиве.

function search_in_array($srchvalue, $array)
{
if (is_array($array) && count($array) > 0)
{
$foundkey = array_search($srchvalue, $array);
if ($foundkey === FALSE)
{
foreach ($array as $key => $value)
{
if (is_array($value) && count($value) > 0)
{
$foundkey = search_in_array($srchvalue, $value);
if ($foundkey != FALSE)
return $foundkey;
}
}
}
else
return $foundkey;
}
}

Он вернет вам ключ, где найдено значение.
Не забудьте принять ответ, если он вам поможет

0

По вопросам рекламы [email protected]