Искать в 2D массиве ... php - PullRequest
       27

Искать в 2D массиве ... php

2 голосов
/ 21 января 2011

У меня есть этот массив:

$ Fruit = array ()

$ Fruit [$ kind] [$ property] = $ value

Array
(
    [Apple] => Array
        (
            [Green] => 4
            [Spots] => 3
            [Red] => 3
            [Spots] => 2
        )

Теперь я хочу найти, существует ли ключ во втором массиве ...

Я попробовал это:

if (!array_key_exists($property, $Fruit->$species))

Но это не работает ...

Кто-нибудь знает, как искать внутри массива массива ...?

С уважением, Thijs

Ответы [ 3 ]

6 голосов
/ 21 января 2011
array_key_exists($property, $Fruit[$species])

-> для объектов, [] для записи и чтения из массивов.

Кстати, если ваши значения не могут быть null, я бы рекомендовал isset вместо array_key_exists:

isset($Fruit[$species][$property])

Должен быть более интуитивным.

1 голос
/ 21 января 2011

Вы можете сослаться на здесь: http://hk2.php.net/manual/en/function.array-key-exists.php#92355

0 голосов
/ 21 января 2011

Вышеприведенное сработает, если все, что вам нужно, это ответ да / нет (истина / ложь) на ваш запрос, но он не возвращает дополнительную информацию о найденном элементе (например, из другого измерения массива).

Проверьте этот цикл в руководстве по PHP: http://php.net/manual/en/control-structures.foreach.php и объедините его с предложением if, чтобы получить больше

Я не даю вам прямого ответа, потому что foreach - это часть основ PHP, которую вы должны изучить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...