} } public function __construct($PersonID) { $this->NatIDNumber = $PersonID; $this->CountryCode = "ITA"; } } $IDs = array("90022815265", "MRTMTT25D09F205Z", "LolDupa"); $IDgroup = array(); class CountryManager { static function checkCountry($NatIDNumber) { if (strlen($NatIDNumber) == 11) { return new ID_POL($NatIDNumber); } elseif (strlen($NatIDNumber) == 16) { return new ID_ITA($NatIDNumber); } return null; } } foreach ($IDs as $ID) { array_push($IDgroup, CountryManager::checkCountry($ID)); } foreach ($IDgroup as $ID) { if ($ID != null) { echo $ID->retCountry() . "\n"; } } //echo "\nJeszcze dziala!";