PHP -数组不能识别超过3位数的美元金额


PHP - Array not recognizing dollar amount with more than 3 figures

在我的配置文件中,我有这样定义的服务:

$services = array(
              array("service1", "500"),
              array("service2", "1000"),
        );
$show_services = TRUE; 
在我的表单处理文件中:
if($show_services){
        $amount = number_format($services[$service][1],2);

对于任何超过$999的项目,我得到一个错误-说该项目不存在。似乎也许问题是在number_format定义,但我不是熟练的php知道如何解决这个问题。这是我购买并修改自己使用的代码。

如果您想访问这些数字,请使用以下命令:

$services[0][1]

或:

$services[1][1]

括号中的第一个数字应该改变,但第二个数字应该保持不变[1]。

问题是您在顶级数组级别引用服务。你需要引用第二层。

下面的第一个代码块不起作用,因为你引用数组的方式不同于它的定义方式。在这里发布更多的代码肯定会有所帮助,因为原始数组的定义方式看起来像这样是一个低效的脚本。似乎可以用一种不需要循环的方式来定义数组。

第二个块显示了如何重新定义数组,使其与代码一起工作。它可以工作,不需要循环。

<?
header( 'content-type: text/plain' );
$services = array(
              array("service1", "500"),
              array("service2", "1000"),
        );
$service = 'service1';
$amount = number_format( $services[$service][1],2 );
echo $amount . PHP_EOL;
$services['service1'] = array("service1", "500");
$services['service2'] = array("service2", "1000");
$service = 'service1';
$amount = number_format( $services[$service][1],2 );
echo $amount;