• Почему не работает сравнение строк?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Ваша функция выходит на первой же итерации, если первый элемент не совпал - до нужного у неё дойти нет шансов.
    Ну а сравнение прекрасно работает:
    function getXmlProduct(string $product_code, SimpleXMLElement $xml): int
    {
        foreach ($xml->items->item as $item) {
            if (
                (string)$item->code === $product_code &&
                (string)$item->stock === "В наявності"
            ) {
                return (int)$item->priceRUAH;
            }
        }
    
        return 0;
    }


    Если хотите, то можете и в стиле пятилетней давности функцию сделать:
    function getXmlProduct($product_code, $xml)
    {
        foreach ($xml->items->item as $item) {
            if ($item->code == $product_code && $item->stock == "В наявності") {
                return (int)$item->priceRUAH;
            }
        }
    
        return 0;
    }
    Ответ написан
    Комментировать