Portál AbcLinuxu, 8. listopadu 2025 14:18
public function hasCar{
$car = $this->getCar();
return $car && $car->wheels;
}
Myslel jsem ze return musi vracet jedine promenou nebo hodnotu, ale nechapu co dela to && $car->wheels. Mohl by mi nekdo rozepsat ekvivalentni zapis polopatě? Díky
Řešení dotazu:
return ($car && $car->wheels);. Vrací se tedy boolean, který vznikne andováním $car a $car->wheels.
if(($car)&&($car->wheels)) return true; else return false;nebo třeba:
return (($car)&&($car->wheels))?true:false;a myšleno je tím pravděpodobně toto (ne, jakože to původní je špatně - jen pro lepší pochopení):
if((is_object($car))&&($car->wheels != 0))//volil bych raději > 2 :) return true; //máme auto else return false; //nemáme auto, nebo je to mrzák a nemá kola a tedy nemáme autoFce
getCar() má evidentně vrátit objekt a platný objekt je vždy různý od nuly, takže kdyby to náhodou vrátilo NULL, podmínka už se dál nevyhodnocuje a je vráceno false, pokud je ovšem objekt platný tak musí být ještě splněna podmínka, že má počet kol různý od nuly, takže pokud má auto třeba i -6 kol je vráceno true - tedy máAuto.
$wheels, tak bych $wheels == true chápal jako že se jedná o vozidlo s koly, tedy neoznačujete to počet kol, ale vlastnost mít kola.
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.