PHP Intval() 奇怪的行为


PHP Intval() strange behaviour

我目前正在尝试解决更改变量类型的问题,以便能够对其进行数学运算。我正在尝试增强一个名为"WooCommerce PDF Ininvoice & Pack Slips"的Wordpress插件。

有一个变量$item['order_price'],其中包含一个带有货币符号的价格。 此变量var_dump()返回string(48)"709 Kč" 。当我尝试使用 intval() 或通过 (int) 强制转换它时,它会返回 0

解决方案是什么?

试试

filter_var($item['order_price'], FILTER_SANITIZE_NUMBER_INT);

我建议你至少使用:trim($item['order_price']);