Мне нужна помощь, которая обертывает мою голову вокруг проблемы. У меня есть массив, заполненный другими массивами. Мне нужно:Построение массива параметров поиска
- шлейфа через весь массив и создать новый массив под названием
finalOptions
- Каждая итерацию цикла будет принимать новый
SearchIndex
и применить другой Paramenters
т.е.
SearchIndex => SportingGoods
MinPercentageOff => 50
MinimumPrice => 1
ItemPage => 1
Sort => salesrank
BrowseNode => 2342470011
THEN:
Окончательный массив должен содержать данные, как этого
SearchIndex => SportingGoods
MinPercentageOff => 60
MinimumPrice => 100
ItemPage => 2
Sort => salesrank
BrowseNode => 3403201
В основном, я создаю новый массив и отправить его в другой метод, который будет выполнять вызов к API и возвращать результат, а затем делать это снова, пока мой параметры массива завершены.
Возможно, это не так, и я ищу предложения/псевдо-код при подходе. Вот основы того, что я до сих пор:
Начиная с этого кода
$allOptions = array(
"SearchIndex" => array("SportingGoods", "Tools"),
"MinPercentageOff" => array("50", "60", "70"),
"MinimumPrice" => array("1", "100", "1000"),
"ItemPage" => array("1", "2"),
"Sort" => array("salesrank")
"BrowseNode" => array(
"SportingGoods" => array("2342470011", "3403201"),
"Tools" => array("511364")
)
)
$finalOptions = array();
foreach($allOptions as $options){
foreach($options["SearchIndex"] as $searchIndex){
$finalOptions[] = "SearchIndex" => $searchIndex[]
}
$this->itemSearch($finalOptions);
}
EDIT
Массивы будет содержать больше значений. i.e "ItemPage" => array("1", "2"),
будет иметь 1 - 10. Остальные будут иметь больше значений.
Можете ли вы сделать что-то более четкое, с чего вы начинаете и чего хотите? –
@MikeMiller Я начинаю с массива '$ allOptions', и я хочу пропустить его и построить новый массив под названием' $ finalOptions'. '$ finalOptions' должен включать массив, подобный моему второму блоку кода выше. Надеюсь, это поможет. –
Как вы различаете количество значений внутри вашего массива. 'Пример: SearchIndex' содержит '2 значения массива', а в правом следующем -' three' –