Page 1 of 1
array in class
Posted: Mon Feb 19, 2018 5:03 pm
by explozen
Здравейте

Някой може ли да ми удари едно рамо със следната задача:
https://imgur.com/a/Cf6t9
Тези масиви искам да ги сложа във клас и накрая да ги сумирам.
Ще съм много благодарен ако някой хелпне

Re: array in class
Posted: Mon Feb 19, 2018 7:03 pm
by dakata__92
explozen wrote:Здравейте

Някой може ли да ми удари едно рамо със следната задача:
https://imgur.com/a/Cf6t9
Тези масиви искам да ги сложа във клас и накрая да ги сумирам.
Ще съм много благодарен ако някой хелпне

Дай код, и масива по възможност поне част от него, за да ти помогнем.
Posted: Mon Feb 19, 2018 8:24 pm
by dakata__92
[php]
<?php
$cars = [
7, 5, 150,
[
4, 9, 2,
[
10, 3, 6
],
43
],
];
$sum = 0;
foreach ($cars as $car) {
if (is_array($car)) {
foreach ($car as $car2) {
if (is_array($car2)) {
$sum += array_sum($car2);
} else {
$sum += $car2;
}
}
} else {
$sum += $car;
}
}
print $sum;
[/php]
Posted: Mon Feb 19, 2018 8:28 pm
by explozen
dakata__92 wrote:[php]
<?php
$cars = [
7, 5, 150,
[
4, 9, 2,
[
10, 3, 6
],
43
],
];
$sum = 0;
foreach ($cars as $car) {
if (is_array($car)) {
foreach ($car as $car2) {
if (is_array($car2)) {
$sum += array_sum($car2);
} else {
$sum += $car2;
}
}
} else {
$sum += $car;
}
}
print $sum;
[/php]
Заслужи много бири!!!
Posted: Tue Feb 20, 2018 12:36 pm
by lam3r4370
$sum = array_sum(iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)))).
Не съм го тествал.
Posted: Sun Mar 04, 2018 6:46 pm
by pix3l
Виждам, че темата е стара и е отговорено, но ако реалният масив ще е толкова голям, можеш да ползваш рекурсия:
[php]
function traverse(array $array) {
$sum = 0;
foreach ($array as $element) {
if (is_numeric($element)) {
$sum += $element;
} elseif (is_array($element)) {
$sum += traverse($element);
}
}
return $sum;
}
[/php]