За последние 24 часа нас посетил 50921 программист и 1761 робот. Сейчас ищут 995 программистов ...

Обращение к элементам массива

Тема в разделе "PHP для новичков", создана пользователем Donald, 14 окт 2015.

  1. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    PHP выдаёт Notice при обращении к несуществующему индексу массива. Можно знать, какие индексы есть, если сам генеришь массив, но это скорее редкость.
    Если не отключать нотайсы, то всегда надо перед обращением к массиву делать такую обёртку или есть что-то поудобнее или современнее?
    Код (PHP):
    1. echo ( isset($arr['a']) ) ? $arr['a'] : null; 
    Как с этим в 6й и 7й версии PHP?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    6-й версии нет.
    если ты проверяешь на существование, то ни каких Notice не должно быть.
     
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Не знаешь, что пришло, иди по массиву не через индексы, а через foreach.
     
  4. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Понял!
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно мерджить массив на массив, чтобы забивать дефолтами то, чего нет во втором. Не нужно будет писать кучу ифов.
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    В 7 вроде какой-то оператор собрались вставить, который будет означать isset($a) ? $a : $b; Что-то вроде $a ?? : $b; 6 версии не существует - она не удалась разработчикам, и они решили пропустить этот номер.

    Добавлено спустя 2 минуты 55 секунд:
    https://wiki.php.net/rfc/isset_ternary
     
  7. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719