У меня есть массив БД:
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
(Это ключ массива)
Попробуй это —
$b = array("christmas","apparel");
$keys = array();
foreach ($dbArray as $key => $values) {
$check = array_intersect($values, $b);
if (!empty($check)) {
$keys[] = $key;
}
}
Ниже приведена рекурсивная функция для поиска значения в многомерном массиве.
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;
}
}
Он вернет вам ключ, где найдено значение.
Не забудьте принять ответ, если он вам поможет