Нужно преобразовать типы php

День добрый. Собственно в попытках преобразовать string в int:

    $amount_form = $order->get_formatted_order_total(); //получаем значение 
    17.0m(str)
    $amount_form = strtok($amount_form, "."); //здесь имеем 17(str)
    $amount_form = intval($amount_form);

В итоге я последней $amount_form я получаю 0. Почему не 17(int)? Спасибо заранее


Ответы (1 шт):

Автор решения: Darth KYL

Метод get_formatted_order_total возвращает отформатированное значение стоимости заказа, это значит что в вашей строке не только число но также и html теги. Для того чтобы получить стоимость заказа без форматирование нужно использовать метод get_total который вернет вам значение типа float либо ничего

$amount_form = intval($order->get_total());

Подробнее по ссылкам: https://wp-kama.ru/plugin/woocommerce/function/WC_Order::get_formatted_order_total https://wp-kama.ru/plugin/woocommerce/function/WC_Abstract_Order::get_total

→ Ссылка