将php数组中的NaN、INF值更改为0
因此,我在Php中有一个数组,其中分别有以下值将php数组中的NaN、INF值更改为0,php,arrays,for-loop,Php,Arrays,For Loop,因此,我在Php中有一个数组,其中分别有以下值 $arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,6,4,7,1,15,35]; 所以当我在这里应用增长率公式时。显示NaN和INF的一些值。我知道这是因为我在数组中输入了0 所以我需要的是用0或其他东西替换NaN、INF值,这样就不会跳过这些值 我试了很多方法。但它似乎不起作用 这是我的密码: $growthrate=[] $arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,
$arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,6,4,7,1,15,35];
所以当我在这里应用增长率公式时。显示NaN和INF的一些值。我知道这是因为我在数组中输入了0
所以我需要的是用0或其他东西替换NaN、INF值,这样就不会跳过这些值
我试了很多方法。但它似乎不起作用
这是我的密码:
$growthrate=[]
$arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,6,4,7,1,15,35];
for($i=1;$i<count($arr);$i++)
{
$growthrate[] = $arr[$i]/$arr[$i-1];
error_reporting(E_ERROR | E_PARSE);
}
print_r($growthrate);
如何将NaN和INF值替换为)或其他任何值或使其成为例外。如果我没有弄错您的问题,请检查除数是否不是0
<?php
$arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,6,4,7,1,15,35];
$growthrate = [];
for($i=1;$i<count($arr);$i++) {
$growthrate[] = $arr[$i-1] ? $arr[$i] / $arr[$i-1] : -1; // -1 or whatever value you want...
}
print_r($growthrate);
您可以使用三元:$growthrate[]=($arr[$i-1]!==0)$arr[$i]/$arr[$i-1]:0代码>如我所见,如果($arr[$I-1]!==0)
并将错误报告
移出循环除零
,则只需添加检查。你总是需要检查一下。
<?php
$arr = [1,2,0,0,5,6,7,8,9,10,7,5,7,6,4,7,4,6,4,7,1,15,35];
$growthrate = [];
for($i=1;$i<count($arr);$i++) {
$growthrate[] = $arr[$i-1] ? $arr[$i] / $arr[$i-1] : -1; // -1 or whatever value you want...
}
print_r($growthrate);