【发布时间】:2012-09-05 01:21:56
【问题描述】:
这是我的数组
Array ( [0] => $30.00 [1] => $200.00 [2] => $138.00 [3] => $100.00 [4] => $30.00
[5]=>$30.00 [6] => $30.00 )
试图从这个数组中获取最大值和最小值
echo $maxprice = max($list);
echo $minprice = min($list);
我得到最高 30.00 美元和最低 100.00 美元
我猜这是因为值是货币字符串。
谁能告诉我如何获得这个数组的真正最大值和最小值?这真的是钱串的原因吗?
提前致谢
注意 这个数组是从一个多维数组中剥离出来的。如果是普通数组,那就简单了
【问题讨论】:
-
您是否尝试过使用非金钱价值?
-
@arxanas,这个数组是从一个多维数组中剥离出来的。非金钱价值有效,但我遇到了这种金钱字符串格式的问题
-
由于“货币价值”不是“数字”字符串,因此在找到最小值/最大值时会进行字符串比较(参见数字比较)。这将按照
$100.00, $138.00, $200.00, $30.00, $30.00, $30.00, $30.00的顺序对它们进行排序(从最小值到最大值)。要获得您正在寻找的行为,它们实际上需要是数值或至少是数字字符串(即没有$)。从数组中获取数字字符串的方法有很多种。 -
@salathe 谢谢!我真的认为其中涉及很多代码:)