Php 与第一个数组值相乘始终返回0

Php 与第一个数组值相乘始终返回0,php,arrays,currency,currency-formatting,Php,Arrays,Currency,Currency Formatting,我正在从数据库67.00€获取一个值。我需要将该值乘以一个整数。因此,使用php的explode函数将其转换为数组,并将其存储在变量$result中 print\r()如下所示: Array ( [0] => 67 [1] => 00€ ) 现在,如果我将这个数组的第一个值乘以任何值,结果总是0。 比如: $result[0]*12 我还尝试使用(int)$result[0]和intval($result[0])将第一个值转换为整数。两个输出均为0 我做错了什么?试

我正在从数据库
67.00€
获取一个值。我需要将该值乘以一个整数。因此,使用php的
explode
函数将其转换为数组,并将其存储在变量
$result

print\r()
如下所示:

Array
(
    [0] => 67
    [1] => 00€
)
现在,如果我将这个数组的第一个值乘以任何值,结果总是0。 比如:

$result[0]*12

我还尝试使用
(int)$result[0]
intval($result[0])
将第一个值转换为整数。两个输出均为0

我做错了什么?

试试这个:

intval($result[0])* 12
我试过这个,它对我有效。请创建一个新文件并在项目所在的本地主机中运行

test.php

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$str = '67.00$';
$result = explode('.',$str);
print_r($result);

$ans= intval($result[0])*12;    // or  $ans=($result[0])*12;  both worked
echo 'Answer-->'.$ans;   // 804
?>


我不知道你做错了什么。我希望您能从中发现您的错误。

也尝试过这一点。我的答案仍然是一样的…请尝试一下。或者分享你的代码,那么很容易调试,可能是你做错了什么。你认为哪一个可能是正确的。编辑我的问题以获取更多信息。更新我的答案并对我有用。请检查。它是静态工作的(就像您在
$str
中存储了
67.00$
),但不是动态工作的。我正在从数据库中获取值,在
print_r()
上,它会在浏览器中显示
67.00$
。有人能解释为什么我会获得反对票吗?试试
var_dump()
或调试器。
var_dump
result[0]
输出
string 67
其中作为
intval($result[0])
outputs
int 0
var_dump()也应该输出字符串的字节长度。