Insert value into an array

Asked

Viewed 68 times

2

Good, I’m trying to insert a value into an array I receive from a database.

The array contains a set of arrays and each array of this set corresponds to a vehicle. I want to take two values of each vehicle, calculate the difference and then create a value in the array of this vehicle with the calculated difference.

I’m trying to do it this way :

foreach ($viaturas as $key => $viatura) {
    if ($viatura['kms'] < $viatura['inspecao1']) {
        $diff = $viatura['inspecao1'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao2']) {
        $diff = $viatura['inspecao2'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao3']) {
        $diff = $viatura['inspecao3'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao4']) {
        $diff = $viatura['inspecao4'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao5']) {
        $diff = $viatura['inspecao5'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao6']) {
        $diff = $viatura['inspecao6'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao7']) {
        $diff = $viatura['inspecao7'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao8']) {
        $diff = $viatura['inspecao8'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao9']) {
        $diff = $viatura['inspecao9'] - $viatura['kms'];
    } elseif ($viatura['kms'] < $viatura['inspecao10']) {
        $diff = $viatura['inspecao10'] - $viatura['kms'];
    }
    array_push($viatura, $diff);
}

But he doesn’t add up the value at the end of every car, which is what I’m doing wrong?

I’ve tried it myself $viatura['diff'] = $diff; but it didn’t work

  • After $viatura['diff'] = $diff; you printed out the entire result after the foreach?

  • already solved the problem, I put the answer in the post. Thanks anyway

1 answer

5


I was doing a print of the $car variable instead of creating a new array with $car data and would join the $diff variable which, for obvious reasons, was not showing me the diff variable in the array.

Basically, at the end of going through each vehicle would add it to an array of $vehicles that at the end would have the same vehicles with the value of the variable $diff.

Solved:

$viaturas = $this->Viatura_model->readall();
    foreach ($viaturas as $key => $viatura) {
        if($viatura['kms'] < $viatura['inspecao1']){
            $diff = $viatura['inspecao1'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao2']) {
            $diff = $viatura['inspecao2'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao3']) {
            $diff = $viatura['inspecao3'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao4']) {
            $diff = $viatura['inspecao4'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao5']) {
            $diff = $viatura['inspecao5'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao6']) {
            $diff = $viatura['inspecao6'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao7']) {
            $diff = $viatura['inspecao7'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao8']) {
            $diff = $viatura['inspecao8'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao9']) {
            $diff = $viatura['inspecao9'] -$viatura['kms'];
        }elseif ($viatura['kms'] < $viatura['inspecao10']) {
            $diff = $viatura['inspecao10'] -$viatura['kms'];
        }
        $viatura['diff'] = $diff;
        $veiculos[] = $viatura; 
    }

Browser other questions tagged

You are not signed in. Login or sign up in order to post.