note 70224 added to language.oop5

From: Date: Sat, 07 Oct 2006 06:20:16 +0000
Subject: note 70224 added to language.oop5
Groups: php.notes 
Request: Send a blank email to php-notes+get-118180@lists.php.net to get a copy of this message
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 ---- Server IP: 216.194.113.175 Probable Submitter: 24.16.194.153 ---- Manual Page -- http://www.php.net/manual/en/language.oop5.php Edit -- https://master.php.net/note/edit/70224 Del: integrated -- https://master.php.net/note/delete/70224/integrated Del: useless -- https://master.php.net/note/delete/70224/useless Del: bad code -- https://master.php.net/note/delete/70224/bad+code Del: spam -- https://master.php.net/note/delete/70224/spam Del: non-english -- https://master.php.net/note/delete/70224/non-english Del: in docs -- https://master.php.net/note/delete/70224/in+docs Del: other reasons-- https://master.php.net/note/delete/70224 Reject -- https://master.php.net/note/reject/70224 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#118180) next »