note 70224 deleted from language.oop5 by googleguy

From: Date: Fri, 11 Jan 2013 17:25:59 +0000
Subject: note 70224 deleted from language.oop5 by googleguy
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-192938@lists.php.net to get a copy of this message
Note Submitter: osculabond at gmail dot com ---- A better way to simulate an enum in php5: <?php final class Days { const Sunday = 0x00000001; const Monday = 0x00000010; const Tuesday = 0x00000100; const Wednesday = 0x00001000; const Thursday = 0x00010000; const Friday = 0x00100000; const Saturday = 0x01000000; const Unknown = 0x00000000; // ensures that this class acts like an enum // and that it cannot be instantiated private function __construct(){} } ?> This will allow you to do things like: <?php $day_to_email = Days::Thursday; if($day_to_email == Days::Wednesday) echo "Wednesday<br />"; if($day_to_email == Days::Thursday) echo "Thursday<br />"; if($day_to_email == Days::Friday) echo "Friday<br />"; ?> Which would output: Thursday Or if you wanted to get a little fancier you could also do the following: <?php $days_to_email = Days::Monday | Days::Wednesday | Days::Friday; if($days_to_email & Days::Monday) echo "Monday<br />"; if($days_to_email & Days::Tuesday) echo "Tuesday<br />"; if($days_to_email & Days::Wednesday) echo "Wednesday<br />"; if($days_to_email & Days::Thursday) echo "Thursday<br />"; if($days_to_email & Days::Friday) echo "Friday<br />"; ?> Which would output: Monday Wednesday Friday

« previous php.notes (#192938) next »