【发布时间】:2019-11-04 01:40:47
【问题描述】:
我有一个包含描述和数字的 2 列表。描述和数字被称为 $POST 值并存储在一个数组中。然后使用数组值在电子邮件消息中发送数据表。
我需要将数组中的每个数字重新格式化为货币 ($X.XX)。应用于数组中的数字时,我无法让 number_format 正常工作。
$stringVals[0] = 描述
$stringVals[1] = 我要格式化的数字
没有数字格式:
foreach ($_POST as $key => $value){
if (substr($key, 0, 5) == "rowE-")
{
$tmp = str_replace('"', "", substr($value, 1, strlen($value) - 2));
$stringVals = explode(",", $tmp);
$messageBody .= "<tr><td><strong>";
$messageBody .= $stringVals[0];
$messageBody .= ":</strong> </td><td>";
$messageBody .= $stringVals[1];
$messageBody .= "</td><tr>";
}
}
我在上面的上下文中尝试了以下,但没有成功:
$tmpString .= $stringVals[1];
$messageBody .= number_format($tmpString, 2,',', '.');;
【问题讨论】:
-
你为什么要追加到
$tmpString这里?首先为什么要使用临时变量?$stringVals[1]此时实际上包含什么? -
为什么你必须从 一个 POST 值中提取描述和“数字”,为什么那些不首先作为单独的值发送?
-
@04FS
$tmpString可能是我从数组中取出单个变量的非常糟糕的尝试。每次循环运行时,$stringVals[1]都包含一个数字。我不明白为什么number_format($stringVals[0], 2,',', '.');不起作用,因为变量值是每个通过循环的数字。鱼的原因与我需要如何在将数据发布到电子邮件 php 文件之前对数据进行字符串化。
标签: php arrays numbers format number-formatting