Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:16575 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26754 invoked by uid 1010); 9 Jun 2005 06:30:05 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 26736 invoked from network); 9 Jun 2005 06:30:04 -0000 Received: from unknown (HELO pb1.pair.com) (127.0.0.1) by localhost with SMTP; 9 Jun 2005 06:30:04 -0000 X-Host-Fingerprint: 212.238.144.71 korving.demon.nl Received: from ([212.238.144.71:28614] helo=localhost.localdomain) by pb1.pair.com (ecelerity 1.2 r(5656M)) with SMTP id 14/77-21296-CE1E7A24 for ; Thu, 09 Jun 2005 02:30:04 -0400 Message-ID: <14.77.21296.CE1E7A24@pb1.pair.com> To: internals@lists.php.net References: Date: Thu, 9 Jun 2005 08:28:09 +0200 Lines: 53 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 X-Posted-By: 212.238.144.71 Subject: Re: ifsetor(), goto, 5.x, my two cents From: r.korving@xit.nl ("Ron Korving") I must say, I like the coalesce() idea a lot. It gives more flexibility over ifsetor() which sounds to me like it only handles 1 variable that is or isn't set. coalesce() would handle any number of variables. Here's something else to consider though: Would anybody be interested in a parameter for ifsetor() or coalesce() that would use !empty() instead of isset() ? If coalesce() would become the function name of choice, you can't drop in a parameter to achieve what I just said, so an alternative function would be better in that case (or maybe it would be better in any case). I know I'd love to see some variant like this. I use empty() a lot more than isset(). Ron "Noah Botimer" wrote in message news:ECDCEE8D-2160-46B7-BF84-AB163E477707@botimer.net... > Hello all, > > Now that my PHP-DEV imap folder has cooled off a bit, I'd like to > chime in briefly on ifsetor() and goto. > > As far as ifsetor() goes, I like the concept. I would, however, > suggest a specific behavior and a name change. I do a lot of > database code and use things like ISNULL() and COALESCE() to > translate NULL values to 0's, placeholder strings, etc. ISNULL() > typically provides a check of one value, and acts just as a ternary > operation: > > value = check ? check : alternative; > > while COALESCE() usually returns the first non-null parameter, or > NULL if all are parameters are NULL. > > Since PHP already supports arbitrary/optional parameters natively, I > think a single coalesce() function would be a very reasonable > extension that would behave in an understandable and desirable manner > (with a name that matches at least some common usage). > > As for goto, we may be fighting over nothing. There is a lot of > abuse that may be done with goto, as has been illustrated but, with a > couple of sensible limitations, the horrific problems should be > averted. It also seems to me that GOTO is far less often mentioned > to beginners as a means of flow control since line-numbered BASIC has > faded. People who get into trouble with it will likely have a good > reason to be playing with fire. I say: put it in, label it > dangerous, and let the developers decide if it's right for them. > > Thanks, > -Noah Botimer