Получить ключ «верхнего уровня» в массиве

0

Я хочу получить ключ массива, где, например, " тип " равен " UniqueType1 " (в данном случае 0) в PHP. Полный массив огромен и из API, поэтому я не могу изменить исходные данные.

Описание моей проблемы довольно плохо, но я никогда не делал ничего подобного. Простите за это.

Array
(
    [summary] => Array
        (
            [0] => Array
                (
                    [type] => UniqueType1
                    [aggregated] => Array
                        (
                             ....  
                        )

                    [modifydate] => 1389890963000
                )

            [1] => Array
                (
                    [type] => UniqueType2
                    [aggregated] => Array
                        (
                             ....  
                        )

                    [modifydate] => 1389890963000
                )
  )       )
  • 0
    Может быть, это поможет вам: stackoverflow.com/a/2504778/4428904 [Найти родительский ключ массива]
Теги:
arrays

1 ответ

1
Лучший ответ

Если я что-то не хватает, это похоже на случай простого повторения массива и проверки значения конкретного ключа в подматрице.

Предполагая, что $array - ваш внешний массив...

foreach($array["summary"] as $index => $row)
{
    if($row["type"] == "UniqueType1")
    {
        $targetIndex = $index;
        break;
    }
}

echo "The target index is " . (isset($targetIndex) ? $targetIndex : "not found.");
  • 0
    Работает отлично. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню