За последние 24 часа нас посетили 17879 программистов и 1647 роботов. Сейчас ищет 1881 программист ...

Как обратится к элементу массива?

Тема в разделе "PHP для новичков", создана пользователем vitaliy1970, 6 дек 2013.

  1. vitaliy1970

    vitaliy1970 Новичок

    С нами с:
    5 дек 2013
    Сообщения:
    10
    Симпатии:
    0
    [c4523187-2ee8-49ef-9460-5b0de6151325] => stdClass Object
    (
    [0] => stdClass Object
    (
    [sku] => 303
    [in_stock] => 1
    [value] => 2100
    [description] =>
    )

    )
    Мне нужно получить значение ключа value ([value] => 2100).
     
  2. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    это не массив, это объект

    Код (PHP):
    1. <?php $foo->{'0'}->value; 
    2.  
    3. // либо
    4.  
    5. $bar = (array) $foo; // перевод объекта в массив
    6. $bar[0]->value; // первый элемент массива bar содержит по-прежнему объект
    7.  
     
  3. vitaliy1970

    vitaliy1970 Новичок

    С нами с:
    5 дек 2013
    Сообщения:
    10
    Симпатии:
    0
    Код (Text):
    1. $bar = (array)$array['c4523187-2ee8-49ef-9460-5b0de6151325'];
    2. echo $bar[0]->value;
    Сделал вот так, потому что у меня 'c4523187-2ee8-49ef-9460-5b0de6151325' ключ массива. Но все равно не вывелось значение.
     
  4. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    echo (array)$array['c4523187-2ee8-49ef-9460-5b0de6151325']->0->value;

    1) Как-то так. У вас же объект в объекте. Так и дергайте их соответственно.
    2) Переменные и поля не должны начинаться с чисел.
     
  5. vitaliy1970

    vitaliy1970 Новичок

    С нами с:
    5 дек 2013
    Сообщения:
    10
    Симпатии:
    0
    Правильным решением оказался вывод
    Код (Text):
    1. echo $array['c4523187-2ee8-49ef-9460-5b0de6151325']->{0}->value;
    Спасибо Fell-x27 и topas.