如何在 PHP 数组中对格式项目进行编号
Posted
技术标签:
【中文标题】如何在 PHP 数组中对格式项目进行编号【英文标题】:How can I Number format items in PHP array 【发布时间】: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 文件之前对数据进行字符串化。
【参考方案1】:
$tmpString .= $stringVals[1];
$messageBody .= number_format($tmpString, 2,',', '.');;
您的第二行代码使用两个分号。尝试删除一个。
【讨论】:
谢谢@Reks。错误的复制粘贴。额外的半码实际上不在代码中。以上是关于如何在 PHP 数组中对格式项目进行编号的主要内容,如果未能解决你的问题,请参考以下文章
如何在 php 中对以下数组/stdclass 对象进行排序? [复制]