За последние 24 часа нас посетили 17337 программистов и 1741 робот. Сейчас ищут 920 программистов ...

Выделить элемент массива содержащий в себе заданный подэлеме

Тема в разделе "Прочие вопросы по PHP", создана пользователем borus, 12 июн 2015.

  1. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Здравствуйте!

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

    Для наглядности:
    * переменная $a имеет подэлемент c индексом 0, которого может не быть, и у которого есть подэлемент с названием b, который имеет значение "не бери меня"
    * также в переменной $a бывает подэлемент c индексом 1(либо с индексом 0 если нет первого подэдемента), у которого есть подэлемент с названием b, который имеет значение "выбери меня"

    Как при неопределённости с индексом построить селектор к тому подэлементу переменной $a, в котором есть подэлемент b с сигнальным значением "выбери меня"?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Re: Выделить элемент массива содержащий в себе заданный подэ

    Используйте не числовые индексы, а строковые и проверяйте явно isset($a['first_array']) и isset($a['second_array']). Тогда не будет никаких проблем с тем, по какому индексу обращаться.

    Добавлено спустя 26 секунд:
    Re: Выделить элемент массива содержащий в себе заданный подэлеме
    Либо меняйте логику приложения/архитектуру, чтобы не путаться.
     
  3. Catrina

    Catrina Новичок

    С нами с:
    24 апр 2015
    Сообщения:
    321
    Симпатии:
    0
    Re: Выделить элемент массива содержащий в себе заданный подэ

    В этот момент мои мозги скрутились в трубочку :D
     
  4. borus

    borus Активный пользователь

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Re: Выделить элемент массива содержащий в себе заданный подэ

    Спасибо. В том то и дело, что это движок компонента Virtuemart на Joomla так компонует данные, а лезть туда, куча времени надо. Наверно в цикле буду проходить по подэлементам и сканировать их. Попробую функции массивов, например array_search