Philip Thompson wrote: > On Apr 29, 2009, at 11:42 AM, Matt Neimeyer wrote: > >> I have a function that currently takes a boolean value as a parameter. >> But now I want to expand it to 3 options... So if I have... >> >> function doFooBar($doFoo = false) >> { >> if($doFoo) >> { echo "Did Foo"; } >> else >> { echo "Did Bar"; } >> } >> >> Is it as "simple" as changing it like follows to avoid having to >> change existing code that won't use the new values. >> >> function doFooBar($doFoo = 0) >> { >> if($doFoo == 2) >> { echo "Did Baz"; } >> else if($doFoo == 1) >> { echo "Did Foo"; } >> else >> { echo "Did Bar"; } >> } >> >> Something about that disturbs me. Perhaps because any time I think "Oh >> it will be as simple as..." it usually isn't. >> >> Thanks in advance! >> >> Matt > > Unless you're doing a strict comparison (===), it probably won't make a > lot of difference. However, if you sent "true" to the function, I > believe it will reach the last else condition. You may revisit all the > locations you call it and update them appropriately. > > Those are my initial thoughts.... > > ~Philip >
No, true will match the first condition. If you're using true and false now and just want to add a second option then continue using true/false. Don't mix and match. 1 == true and 2 == true. function doFooBar($doFoo = false) { if($doFoo === 2) { //something } elseif($doFoo === true) { //something true } elseif($doFoo === false) { //something false } } -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php