array in class

explozen

Registered
Здравейте :)
Някой може ли да ми удари едно рамо със следната задача:
https://imgur.com/a/Cf6t9

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

Тези масиви искам да ги сложа във клас и накрая да ги сумирам.
Ще съм много благодарен ако някой хелпне :)

Дай код, и масива по възможност поне част от него, за да ти помогнем.
 
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;
 
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:
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;
}
 

Горе