I’m a beginner in php, I want to calculate two data from one array, but I still don’t understand how. For example, I have one data array
$array = (1,2,3,4);
and I want the output like this
1x2 = 2 1x3 = 3 1x4 = 4 2x3 = 6 2x4 = 8 3x4 = 12
I try some code but didn’t help, and now I got stuck.
sorry my language is not good.
Advertisement
Answer
Just use two loops to iterate over the data:
<?php $input = [1, 2, 3, 4]; foreach ($input as $left) { foreach ($input as $right) { if ($left < $right) { echo sprintf("%dx%d = %dn", $left, $right, $left*$right); } } }
For bigger data sets you might want to optimize it. Faster but harder to read:
<?php $input = [1, 2, 3, 4]; foreach ($input as $key => $left) { foreach (array_slice($input, $key+1) as $right) { echo sprintf("%dx%d = %dn", $left, $right, $left*$right); } }
The output obviously is:
1x2 = 2 1x3 = 3 1x4 = 4 2x3 = 6 2x4 = 8 3x4 = 12