Как упомянул @ jon-stirling, вы можете использовать array_column()
для извлечения значений из знакового столбца массива.Это делает много других вещей, которые выходят за рамки вашего вопроса.Проверьте это на http://php.net/manual/en/function.array-column.php
Специально для вашего примера следующий код должен дать вам все uid
, извлеченные из $data['shirts']
.
$url = 'http://foothillertech.com/student/webdesign/2018/2018benrud2/projects/retail/data2.json';
$jsonData = file_get_contents($url);
$data = json_decode($jsonData, true);
$shirtsUids = array_column($data['shirts'], 'uid');
$pantsUids = array_column($data['pants'], 'uid');
// Then you can use $shirtsUids and $pantsUids as you see fit.
Убедитесь, что $ dataВ массиве есть ключ с именем рубашка, иначе у вас будет выдано сообщение об ошибке или предупреждении.
Чтобы избежать возникновения ошибки, я использую оператор объединения Null (??
), чтобы неопределенные значения по умолчанию принимались как приемлемые.,Поэтому я буду использовать $data['shirts'] ?? []
.Но опять же, убедитесь, что $ data ['shirts'] является массивом.
$url = 'http://foothillertech.com/student/webdesign/2018/2018benrud2/projects/retail/data2.json';
$jsonData = file_get_contents($url);
$data = json_decode($jsonData, true);
$shirtsUids = array_column($data['shirts'] ?? [], 'uid');
$pantsUids = array_column($data['pants'] ?? [], 'uid');
// Then you can use $shirtsUids and $pantsUids as you see fit.