2016-01-21 3 views
-1
$str = file_get_contents('http://uapi.alidays.it/service/2.0.0/rs/alidays/applications/fluidtravel/public/baskets/5660609ee4b0ab55863d6c42/contents/selected'); 
$json =json_decode($str,true); 
echo '<pre>' . print_r($json,true) . '</pre>'; 
foreach($json['data'] as $item['value']['baskettile']) { 
    echo $item['value']['baskettile']['type']; 

    echo '<br>'; 
} 

я попытался получить доступ к данным, как это, но это говорит Внимание: Недействительный аргумент для Еогеаспа()чтения JSON данные из внешнего URL

+0

«PHP Предупреждение: недопустимое смещение строки» в строке 6' – Quentin

+0

да, я знаю, что я, когда пытался, получил его, ты знаешь, почему я получил это @Quentin –

+0

У тебя это? Почему ты не сказал об этом в своем вопросе? – Quentin

ответ

1

Значение baskettile является объектом со свойствами, как type и status.

Это не массив. Не имеет смысла перебирать его с помощью foreach(... in ...).

Просто обращайтесь непосредственно к значениям.

$json['data']['0']['value']['baskettile']['type'] 
+0

вы спасатель жизни @Quentin –

+0

, но я хочу повторить цикл @Quentin –

+0

@SaidaRao - Что вы хотите петля над? То, что вы пытались перебрать, не было массивом. – Quentin

0

Вам необходимо отладить код. Скорее всего, $item - это не то, что вы думаете. Самый быстрый способ - сделать var_dump($item) в вашем foreach. Оттуда вы увидите, что переменная либо не является массивом, либо ключ не существует.

+0

foreach ($ json [ 'data'] в качестве $ item) {echo "experience id =====". $ item ['value'] ['baskettile'] ['type']. "
"; } этот работал для меня, я надеюсь, что это поможет другим –

Смежные вопросы