PHP сравнивает последующий элемент массива с предыдущим

Так что у меня проблемы с получением кода для работы. По сути, я хочу сделать следующее:

в цикле foreach, если задано заданное значение массива, сравните это существующее значение с текущим значением цикла, затем установите существующее значение = текущее значение (для итерации), если существующее значение уже больше текущего значения val. Вот код, с которым я работаю:

if ($usedebayxml->ack == 'Success') {
foreach($usedebayxml->searchResult->item as $key => $value) {
if(isset($newarray[1]['TotalCost'])) {
if($newarray[1]['TotalCost'] > ((integer)$value->shippingInfo->shippingServiceCost + (integer)$value->sellingStatus->currentPrice)) {
$newarray[1]['Title'] = (string)$value->title ;
$newarray[1]['ShippingCost'] = (integer)$value->shippingInfo->shippingServiceCost;
$newarray[1]['Price'] = (integer)$value->sellingStatus->currentPrice;
$newarray[1]['Condition'] = 'New';
$newarray[1]['TotalCost'] = (integer)$value->shippingInfo->shippingServiceCost + (integer)$value->sellingStatus->currentPrice;
}
}
else
$newarray[1]['Title'] = (string)$value->title;
$newarray[1]['ShippingCost'] = (integer)$value->shippingInfo->shippingServiceCost;
$newarray[1]['Price'] = (integer)$value->sellingStatus->currentPrice;
$newarray[1]['Condition'] = 'Used';
$newarray[1]['TotalCost'] = (integer)$value->shippingInfo->shippingServiceCost + (integer)$value->sellingStatus->currentPrice;
}
}

С этим кодом в конечном итоге возвращаются значения в ключевом объекте LAST в файле XML (я использую simpleXML, если это помогает). Другими словами, я не думаю, что первый блок if (если isset) вводится, и значения устанавливаются равными значениям для текущей итерации. Кто-нибудь может увидеть какой-либо недостаток в моей логике здесь? Я был озадачен этим некоторое время.

0

Решение

Я высший идиот. Логика здесь хорошая, я просто пропустил {для открытия другого блока. дур! После добавления этого, этот бит кода работает как задумано 🙂

Я удивлен тем, что я не выкидывал никаких ошибок, не имея этого … Я думаю, что это, вероятно, отталкивало меня в определении, почему это не сработало изначально.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]