如何在 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>&nbsp;&nbsp;&nbsp;</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 对象进行排序? [复制]

如何在 PHP 中对多维数组进行排序 [重复]

如何在javascript中对字母数字数组进行排序[重复]

如何在 PHP/Eclipse 中对 foreach 循环中从数组中拉出的自定义对象进行智能感知?

React,如何在 axios 请求的对象中对数组进行包含

如何在 Laravel 中对数组的值进行排序