Так что у меня проблемы с получением кода для работы. По сути, я хочу сделать следующее:
в цикле 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) вводится, и значения устанавливаются равными значениям для текущей итерации. Кто-нибудь может увидеть какой-либо недостаток в моей логике здесь? Я был озадачен этим некоторое время.
Я высший идиот. Логика здесь хорошая, я просто пропустил {для открытия другого блока. дур! После добавления этого, этот бит кода работает как задумано 🙂
Я удивлен тем, что я не выкидывал никаких ошибок, не имея этого … Я думаю, что это, вероятно, отталкивало меня в определении, почему это не сработало изначально.
Других решений пока нет …