Jako, że jako takiego programowania (HTML'a do programowania nie zaliczam naturalnie) uczę się od niedawna, łapię się wszystkich możliwych sposobów na rozwijanie swoich skillsów. Po przeczytaniu tego tematu: https://forum.pasja-informatyki.pl/290697/zadanie-domowe-winda-php-brak-pomyslu-na-rozwiazanie zainspirowany zamieszczonym tam zadaniem postanowiłem napisać swój skrypt.
Prosiłbym o jako taką ocenę kodu, na podstawie zamieszczonego tam zadania (głównie chodzi o logikę działania, czy czegoś nie pominąłem, nie uwzględniłem). Podejścia obiektowego jeszcze się nie tykam, bo zanim to - chciałbym poznać PHP od podszewki.
// Maksymalny udźwig windy
$maksymalneObciazenie = 500;
// Wagi poszczególnych osób
$zawartoscWindy = array (
array (
"imie" => "Piotr",
"waga" => 70
),
array (
"imie" => "Kasia",
"waga" => 70
),
array (
"imie" => "Wojtek",
"waga" => 150
),
array (
"imie" => "Agata",
"waga" => 150
),
);
// Funkcja wyliczająca wagę
function lacznaWaga($ludzie) {
$lacznaWaga = 0;
foreach ($ludzie as $pasazer) {
$lacznaWaga += $pasazer['waga'];
}
return $lacznaWaga;
}
// Warunek okreslający przeciążenie
if (lacznaWaga($zawartoscWindy) > $maksymalneObciazenie) {
echo "<p>Winda została przeciążona! Odciąż windę, by mogła ruszyć.</p>";
} else {
echo "<p>Trwa zamykanie drzwi... Winda rusza.</p>";
}
// Wyświetlenie poszczególnych rekordów
echo "<p>Łączna waga osób w środku: " .lacznaWaga($zawartoscWindy). " kg</p>";
echo "<p>W windzie znajdują się <b>" .count($zawartoscWindy). "</b> osoby</p>";
echo "<p>Pierwsza osoba w windzie ma na imię <b>" .$zawartoscWindy[0]['imie']. "</b></p>";
echo "<p>Ostatnia osoba w windzie ma na imię <b>" .end($zawartoscWindy)['imie']. "<b></p>";