Home > Blockchain >  How to deduct specific array "values from another values" in PHP?
How to deduct specific array "values from another values" in PHP?

Time:11-08

I have an array like this:

$datas = array(54,12,61,98,88,
               92,45,22,13,36);

I want to write a loop which can deduct values of an array like below and show it with 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"

my codes are:

<?php
                    $smonth1= 0;
                    $emonth1=5;
                    for ($i = 5; $i > 0; $i-- ) {
                        $result = array_diff($datas[$emonth1], $datas[$smonth1]);
                        echo (implode ($result))."<br/>" ;
                        $smonth1   ;
                        $emonth1  ;
                    }
?>

but I couldn't get the result I don't know why. I am fresh in php. Can you help me??

CodePudding user response:

Assuming the input array always has an even number of values in it (which I think is the only way this scenario could logically work), then you can simply count how many items are in the array, and then loop through it, taking the nth item and subtracting it from the n (total / 2)th item.

$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;
}

Demo: https://3v4l.org/ictDT

CodePudding user response:

Basically, you want something like this

<?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
}
  • Related