Помогите вывести значения из массива

Тема в разделе "Как сделать...", создана пользователем a777d2, 12 окт 2015.

Метки:
  1. a777d2

    a777d2 Создатель

    Регистр.:
    17 сен 2012
    Сообщения:
    32
    Симпатии:
    7
    Здравствуйте, есть массив
    Код:
    Array ( [0] => [{"id":"9","value":"+7 (912) 240-83-33"},{"id":"10","value":["переход","skhema-tts.html","same"]}] ) 
    Нужно вывести значения value: (телефон)
    а также value: (название ссылки и саму ссылку)

    массив выводится
    Код:
    $names = array($roww['extra_fields']); 
    помогите кому не сложно, я уже просто сам не догоняю как это сделать(
     
    Последнее редактирование: 12 окт 2015
  2. Aglok

    Aglok ∞³

    Регистр.:
    9 янв 2012
    Сообщения:
    162
    Симпатии:
    46
    Этот формат переводишь в строку json
    Код:
    json = array.stringify();
    Потом данные прийдут на сервер переводишь в объект:
    Код:
    $obj = json_decode($json);
    $obj[0]->value;//телефон
    $obj[1]->value[0];//название ссылки
    $obj[1]->value[1];//сама ссылка
    
     
    a777d2 нравится это.
  3. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    194
    PHP:
    foreach ($names as $name) {
         echo 
    'ID: '.$name['id'].'; Phone: '.$name['value'].'<br />';
    }
     
  4. denverkurt

    denverkurt Denve®

    Регистр.:
    23 дек 2013
    Сообщения:
    685
    Симпатии:
    376
    фигурные скобки - это признак объекта а не массива. выводить нужно так:
    Код:
    foreach ($array as $item) {
    echo $item->id;
    echo $item->value;
    }
    либо так:
    Код:
    for($n = 0; $n < count($array); $n++) {
    echo $array[$n]->id;
    echo $array[$n]->value;
    }
    либо без перебора массива, берем отдельный элемент массива:
    Код:
    echo $array[1]->id;
    echo $array[1]->value;
    
    P.S.
    если есть вложенные массивы, либо перебираем их аналогично либо также обращаемся к отдельным элементам
    Код:
    foreach ($item->value as $val) {
    echo $val;
    }
     
    a777d2 нравится это.
  5. a777d2

    a777d2 Создатель

    Регистр.:
    17 сен 2012
    Сообщения:
    32
    Симпатии:
    7
    Спасибо всем, решил вопрос вот так!
    Код:
    $data_arr = json_decode($names[0], true);
    $telefon = $data_arr[0]['value'];
    $link = $data_arr[1]['value'];
    
    echo $telefon;
    echo $link['0'];
    echo $link['1'];