За последние 24 часа нас посетили 7802 программиста и 472 робота. Сейчас ищут 180 программистов ...

Взаимодействие с элементами ассоциативного массива

Тема в разделе "PHP для новичков", создана пользователем AmicoFideli, 16 сен 2020.

  1. AmicoFideli

    AmicoFideli Новичок

    С нами с:
    16 сен 2020
    Сообщения:
    1
    Симпатии:
    0
    Помогите пожалуйста разобраться с взаимодействием элементов внутри ассоциативного массива.
    К примеру дан массив. Нужно вывести все товары по схеме "товар - никнэйм мастера - цена"

    В моем коде результат выводится, но возникает ошибка:
    "PHP Warning: Use of undefined constant masters - assumed 'masters' (this will throw an Error in a future version of PHP)...."

    Можете подсказать как ее убрать?
    Или дать ссылки на материалы, которые изучить, чтоб разобраться с работой внутри массивов.

    Код (Text):
    1.  
    2. $data = [
    3.   'masters' => [
    4.      2 => [
    5.         'nickname' => 'Nick',
    6.         'city'  => 'Москва',
    7.         'delivery' => 'Да',
    8.       ],
    9.      10 => [
    10.         'nickname' => 'Чебурашка',
    11.         'city'  => 'Челябинск',
    12.         'delivery' => 'Нет',
    13.       ],
    14.   ],
    15.   'product' => [
    16.         [
    17.           'nameProduct' => 'Бетон',
    18.           'price' => 100,
    19.           'manufacturer' => 2,
    20.         ],
    21.         [
    22.           'nameProduct' => 'Квадрат',
    23.           'price' => 799,
    24.           'manufacturer' => 10,
    25.         ],
    26.   ]
    27. ];
    28. echo '=== Товары ==='.PHP_EOL;
    29. foreach ($data['product'] as $item) {
    30.   echo "$item[nameProduct] - {$data[masters][$item[manufacturer]][nickname]} - $item[price]".PHP_EOL;
    31. }
    32. [code]
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    7.681
    Симпатии:
    1.487
    А что непонятного? Строковые константы надо брать в одинарные или двойные кавычки, иначе php думает, что это константа, и ищет её среди определённых через define или const.

    Индексы ассоциативного массива - это строки