我有一个这样的数组:
$datas = array(54,12,61,98,88,
92,45,22,13,36);
我想写一个循环,它可以像下面这样扣除数组的值,并用echo显示它:
$datas[5]-$datas[0] for this line the result will be 92-54 "38"
$datas[6]-$datas[1] for this line the result will be 45-12 "33"
$datas[7]-$datas[2] ... "-39"
我的代码是:
<?php
$smonth1= 0;
$emonth1=5;
for ($i = 5; $i > 0; $i-- ) {
$result = array_diff($datas[$emonth1], $datas[$smonth1]);
echo (implode ($result))."<br/>" ;
$smonth1++ ;
$emonth1++;
}
?>
但是我不能得到结果,我不知道为什么。我是新鲜的php。你能帮我吗?
假设输入数组中总是有偶数个值(我认为这是这种情况在逻辑上可以工作的唯一方法),那么您可以简单地计算数组中有多少项,然后循环它,取n
第th项并从n+(total / 2)
第th项中减去它。
$data = array(54,12,61,98,88,
92,45,22,13,36);
$halfway = count($data)/ 2;
for ($i = 0; $i < $halfway; $i++)
{
$j = $i + $halfway;
echo $data[$j] - $data[$i].PHP_EOL;
}
演示:https://3v4l.org/ictDT
基本上,你需要这样的内容
<?php
$data = [
54, 12, 61, 98, 88,
92, 45, 22, 13, 36
];
$offset = 5;
for ($i = 0; $i + $offset < count($data); $i++) {
echo $data[$i + $offset] - $data[$i];
echo "n"; // or <br/> if you run it in browser
}