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