Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:88438 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 75385 invoked from network); 23 Sep 2015 12:22:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Sep 2015 12:22:29 -0000 Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 217.147.176.214 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 217.147.176.214 mail4-2.serversure.net Linux 2.6 Received: from [217.147.176.214] ([217.147.176.214:57376] helo=mail4.serversure.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A1/80-05156-38992065 for ; Wed, 23 Sep 2015 08:22:28 -0400 Received: (qmail 7284 invoked by uid 89); 23 Sep 2015 12:22:24 -0000 Received: by simscan 1.3.1 ppid: 7278, pid: 7281, t: 0.0764s scanners: attach: 1.3.1 clamav: 0.96/m:52/d:10677 Received: from unknown (HELO ?10.0.0.8?) (lester@rainbowdigitalmedia.org.uk@86.160.91.166) by mail4.serversure.net with ESMTPA; 23 Sep 2015 12:22:24 -0000 To: internals@lists.php.net References: <55FB4969.7080600@gmail.com> <55FB5BA6.6050606@lsces.co.uk> <55FBF265.5000502@gmail.com> <55FBF7B7.4050603@lsces.co.uk> <55FC1A77.7090406@gmail.com> <55FC221A.7020108@lsces.co.uk> <55FC2588.6030809@gmail.com> <55FC2B17.3070909@lsces.co.uk> <55FC2F2F.9060403@gmail.com> <55FC33F1.3090903@lsces.co.uk> <55FC354B.5070209@gmail.com> <55FC39B2.5070005@lsces.co.uk> <55FC45C7.9010202@gmail.com> <55FC4991.1050903@lsces.co.uk> <7872E9F4-AE19-4681-B2EF-215751AE4CBE@thesba.com> <55FC5A14.8020301@gmail.com> <55FC8D53.3080904@lsces.co.uk> <93020C79-3920-4FC8-8B6B-F1D16C6C709C@gmail.com> <55FD7613.1080403@lsces.co.uk> <9B86E351-089D-4356-BC8A-F683BA31D1A8@gmail.com> <5602778C.2070205@gmail.com> <56027EC6.1020206@lsces.co.uk> <560281B9.5050808@gmail.com> Message-ID: <56029980.20002@lsces.co.uk> Date: Wed, 23 Sep 2015 13:22:24 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <560281B9.5050808@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] PHP 7.1 - Address PHPSadness #28? From: lester@lsces.co.uk (Lester Caine) On 23/09/15 11:40, Rowan Collins wrote: >> Using isset() in place of exists() is NOT a valid substitution since one >> can't then call is_null() KNOWING that the variable does exist. > > I think you're flogging a dead horse here. We all agree that isset() > does not check for variable existence. > > Also, calling both isset() and is_null() on the same variable is > entirely pointless, because they both make exactly the same check. "if ( > isset($foo) && is_null($foo) )" can be simplified to "if ( false )". NOW WE AGREE ;) Simply because I DON'T want call 'isset() and is_null()' what *I* need is is_exist() which is the missing function. THEN either of the other is redundant, but neither replaces the check that the variable actually exists and it's that which prevents a clean program flow. >> we have hopefully established that the null state is a natural >> result of interaction with a database > > Indeed, I have never disputed that. A non-existent variable, however, is > not something I've ever come across in a database context - it would > seem to require a result set having rows with different numbers of columns. This is perfectly correct, but *IF* a column is included in the result set of a single row read - or not - is what we are talking about. If you read more rows YES they will have the same set of columns but there is nothing demanding that every column in the database is actually returned in every query? Only returning the subset needed for the job is perfectly sensible and there are a number of ways that can happen, some of which COULD bypass the result set associative array, but simply working off the returned array .. expanded ... in theory makes things easy. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk