在添加数组的输出时遇到问题

时间:2018-08-18 13:39:20

标签: php arrays

我正在尝试添加数组中的所有元素并打印出来。该数组是通过解析其他数组并根据特定条件进行选择而创建的。 我得到的最终答案是无法接近数学准确性,而且我想知道为什么要得到这个结果。我也想知道如何正确执行此操作。 我很欣赏所提供的任何建议,因为我一直无法找到特定于我所问问题的答案-与我要查找的内容相比,我在这里找到的问题和答案通常非常复杂。谢谢。

**要解析的源数组...

arguments

**我的代码来解析数据,输出到数组,添加最终数组的内容...

evals

1 个答案:

答案 0 :(得分:1)

您的问题是填充数组编号包含逗号。

只有在您将3,792,621用作数字时,才小心键入PHP,就像将它们加起来一样,然后它必须将文本转换为数字,并且在此过程中,当看到第一个非数字字符,即,

所以您要做的就是删除这样的逗号

$cities =  array('New York', 'Los Angeles', 'Chicago', 'Houston',
                        'Philadelphia', 'Phoenix','San Antonio', 'San Diego',
                        'Dallas','San Jose');
$states = array('NY', 'CA', 'IL','TX','PA','AZ','TX','CA','TX','CA');

$population = array('8,175,133','3,792,621','2,695,598','2,100,263',
                            '1,526,006','1,445,632','1,327,407','1,307,402',
                            '1,197,816','945,942');


$p = 0;

for($i = 0, $theCity = count($cities);$i<$theCity; $i++){
   $cityPlace = $cities[$i];
   $province = $states[$i];
   $number = $population[$i];

   if($province === 'CA' ){
        // changed line of code to remove commas
        $pops[$p] = str_replace(',','', $number);
        $p++;
        print "$number<br>"; //to check outcome
   }

}

$a = array_sum($pops);
print $a;  

结果:

6045965