Hi, please search the archives for "ifsetor".
johannes On Wednesday 03 May 2006 07:56, D. Dante Lorenso wrote: > All, > > I'm sure this has been asked somewhere, but since I see requests for > features for 5.2 or 6.0, I'd like to add a "simple" item to the list > which would be quite useful to me and would simplify and clean up a lot > of code out there: > > function coalesce(...) > > This works much like in the SQL version of the same. In SQL, the > function returns the first non-null argument from an arbitrary list. In > our use, it should return the first non-empty value from the list: > > Example: > > $x = "dante"; > $y = ""; > $z = ""; > > $value = coalesce($z, $y, $x); // $value = "dante" > > This function would ideally be built into the language and bypass > warnings about undefined variables like 'empty' does. It might be nice > to have several varieties of this function: > > * return first parameter where empty() is FALSE > * return first parameter where isset() is TRUE > > I don't think something like this can NOT be written in userspace > because the 'isset' and 'empty' checks need to be run before arguments > can be passed to a user function or warnings will start flying. A > function like this simplifies code which used to look like this: > > if (!empty($_POST["postkey"])) { > $value = $_POST["postkey"]; > } > elseif (!empty($_GET["getkey"])) { > $value = $_POST["getkey"]; > } > elseif (!empty($default_value)) { > $value = $default_value; > } > else { > $value = "hard coded value"; > } > > Into this: > > $value = coalesce($_POST["postkey"], $_GET["getkey"], > $default_value, "hard coded value"); > > Can this be built and included? > > Dante -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php