Мне нужно, чтобы мой массив содержал все 400 товаров, но я хочу иметь массив внутри которого хранятся магазины для данного продукта.
Код:
Код: Выделить всё
$IdentifierTest = 1472;
$arguments = ['store 1', 'store 2', 'store 3'];
$TestApi = app(TestApi::class);
$newArray = array();
foreach($arguments as $argument){
$testResponse = $TestApi->getData($IdentifierTest, $argument);
$Data = $testResponse->getResult()->getData(); // get the final results of call
//check if array empty, and if so, push all records
// if not empty, start checking 'id' against existing array records. If match, push stores. If not, add record to array
if(empty($newArray)){
array_push($newArray, $Data);
}else{
array_push($newArray, $Data);
}
}
$this->makeFile($IdentifierTest, $Data);
Код: Выделить всё
array:426 [▼
0 => prices {#2698 ▼
#container: array:11 [▼
"prd" => 2380
"id" => "173489"
"price" => "65.00"
]
}
Код: Выделить всё
array:426 [▼
0 => prices {#2698 ▼
#container: array:11 [▼
"prd" => 2380
"id" => "173489"
"price" => "65.00"
stores: array[
'store 1',
'store 2'
]
]
}
По сути, если продукт (id) 178293 продается во всех трех магазинах, то это означает, что он вернется во всех трех ответных вызовах API и в конечном итоге станет одной записью в этом новом массиве с store['store 1', 'store 2', 'store 3']< /код>
Мой текущий код, насколько я понял, просто проверяет новый массив, чтобы увидеть, пуст ли он, и если это не так, он отправляет весь ответ (для отладки я также нажимал, если массив не пусто, просто чтобы убедиться, что все значения вошли). Таким образом я получаю все значения, но внутри одного создается три больших массива, так что это еще один камень преткновения.
Как я могу создать из этого новый массив, куда я помещаю только хранилища, если идентификатор существует в вызове API, сохраняя текущую структуру?
Подробнее здесь: https://stackoverflow.com/questions/751 ... d-on-value
Мобильная версия