Right or wrong - C does not actually have NULL :-)  NULL in C is simply mapped 
to zero.  It is useful in logic to sometimes use mapping of logical sentence 
letters to numbers and use mathematics to perform proof, but that is a special 
case.  

In languages like C, there is no special method of marking a variable as true 
NULL.  Thus, the language has no way of processing three state logic.  In SQL, 
there is a special flag to note that variables are truly null and so it can 
process three state logic.

PHP is odd because it does have a special NULL state but it does not fully 
support three state logic.  But hey - it is a web scripting language - it would 
be a shame if PHP got all theoretical on us!

BTW:
>Rome... Oh btw, PHP draws strongly from C, and in C NULL == NULL, and

NULL == NULL === TRUE

It is

NULL === NULL == absurd.

So - my approach:

I may well use is_null() in low traffic areas on PHP, but then when in an inner 
loop etc, use === null and maybe comment what it means.

Cheers to all

AJ


Alexander J Turner Ph.D.
www.deployview.com
www.nerds-central.blogspot.com
www.project-network.com

-----Original Message-----
From: tedd [mailto:[EMAIL PROTECTED] 
Sent: 26 August 2006 19:24
To: Robert Cummings; tedd
Cc: Alex Turner; php-general@lists.php.net
Subject: RE: [PHP] Brain Death - [PHP] functions classes

At 2:30 PM -0400 8/26/06, Robert Cummings wrote:
>On Sat, 2006-08-26 at 12:41 -0400, tedd wrote:
>  > At 4:51 PM +0100 8/26/06, Alex Turner wrote:
>>  >And to be very pedantic - as null does not have a type then actually
>  > >'x === null' should evaluate to absurdity, but PHP is more pragmatic
>>  >than that ;-)
>>
>>  That's a very good point.
>>
>>  While one NULL variable in php can be compared to another NULL
>>  variable and produce true, it's not so in MySQL.
>>
>>  In MySQL NULL does not equal NULL -- such comparisons produces NULL
>>  and not true. Instead you have to use IS_NULL or NOT NULL to check
>>  for NULL.
>>
>>  So, it's probably best to get into the habit of using is_null.
>
>I strongly disagree... If I'm writing SQL then I adhere to the language
>constructs of SQL, if I'm coding in PHP then I adhere to the language
>constructs of PHP. There is no reason why one should forgo better
>constructs just because they don't appear in other languages. When in
>Rome... Oh btw, PHP draws strongly from C, and in C NULL == NULL, and
>last I checked C predates SQL.
>
>Cheers,
>Rob.

Rob:

As the old woman who kissed the cow said "To each their own."

My reasoning is simple and I don't strongly agree, or disagree, with 
other methodologies. I write in several languages, such as php, js, 
mySQL, css, and others -- and each have their own constructs. As 
such, I try to use similar constructs where ever possible. My memory 
isn't what it used to be.

Besides, what Alex Turner said about NULL is correct -- it's absurd 
to have NULL evaluate to anything. Just because one language allows 
absurdity doesn't mean you have to practice it.

Your mileage may differ and that's Okay.  :-)

tedd

-- 
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com

-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/427 - Release Date: 24/08/2006
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.11.6/427 - Release Date: 24/08/2006
 

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to