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' ){
$pops[$p] = $number;
$p++;
print "$number<br>"; //to check outcome
}
}
$a = array_sum($pops);
print $a;
解决方案
您的问题是人口数组编号包含逗号。
PHP 被松散输入并不关心,直到您3,792,621
将它们用作数字,例如将它们相加,然后它必须将文本转换为数字,并且在这个过程中,当它看到第一个非数字字符时它会停止,即,
所以你所要做的就是像这样删除逗号
$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
推荐阅读
- excel - vba MID 函数使我的撇号不可见
- python-3.x - Dash python plotly 实时更新表
- android - Android - Appium 的模拟位置将被 Wi-Fi、蓝牙和移动网络覆盖
- ms-access - 使用具有不同表源的相同查询和报告 - MS Access
- python - opencv Python创建循环以显示图像错误
- matlab - MATLAB 遗传算法,f-count 看起来比预期的要高
- javascript - 如何在列表中随机数标签的单词中剪切部分字符串?
- mysql - 了解 SQL 别名
- fortran - 警告 #10145 没有对文件“A.obj”执行任何操作
- python - pip-18.0 出现“找不到日志记录模块”错误