Esercizio con le classi

  • Creatore Discussione Creatore Discussione leonte54
  • Data di inizio Data di inizio
L

leonte54

Guest
Salve,
mi sto esercitando con le classi e avrei bisogno di un aiuto per risolvere un problema che da qualche giorno mi blocca.
Vorrei passare alla funzione statica motoDaControllare l'array per estrapolare le moto che dall'ultimo controllo hanno percorso + di 1000km.

Grazie per l'aiuto

PHP:
<?php
class Motociclo{
public $moto;
public $targa;
public $tot_km;
public $km_uc;

public function __construct($moto, $targa, $tot_km, $km_uc){
$this->moto = $moto;
$this->targa = $targa;
$this->tot_km = $tot_km;
$this->km_uc = $km_uc;
}

public function kmUltimoControllo(){
return $this->tot_km - $this->km_uc;
}

//Verifica delle moto che hanno percorso + di $k Kmetri dall'ultimo controllo

public static function motoDaControllare($v, $k) {
if(count($v)==0)
return "array vuoto<br>";
else{
$moto=$v[0];
foreach($v as $n){
if($moto->kmUltimoControllo($k) > self::motoDaControllare($a, $k));
return $moto = $n;
}}}}
$m1 = new Motociclo("Honda", "A", 5000, 4500);
$m2 = new Motociclo("Guzzi", "B", 10000, 8000);

echo("-- Ultimo controllo:<br>");
controlloKM($m1->kmUltimoControllo(), 500);
controlloKM($m2->kmUltimoControllo(), 2000); 

echo("-- Moto da controllare:<br>");
$arr = array($m1,$m2);
$arr1 = Motociclo::motoDaControllare($arr, 1000);
$res = "";
foreach ($arr1 as $x){
$res.=$x->targa.",";
}
controllo($res, "Honda,Guzzi"); 
function controlloKM($arr, $arr1) {
echo($arr." (Risultato: ".$arr1.") ".($arr==$arr1?"OK":"NO")); echo"<br>";
} 
function controllo($arr, $arr1) {
echo($arr." (Risultato: ".$arr1.") ".($arr==$arr1?"OK":"NO")); echo"<br>";
} ?>
 

Discussioni simili