You are here: Re: [PHP] Type of form element « PHP « IT news, forums, messages
Re: [PHP] Type of form element

Posted by Marcus Bointon on 10/31/05 12:38

On 31 Oct 2005, at 06:18, Richard Lynch wrote:

> But I really do believe isset($_POST['checkbox_name']) is a "good"
> coding practice.

OK, so PHP may not pass through unset params as NULL (it's not up to
the browser), but if you don't select any checkboxes at all, the
param won't exist, and asking for an index of something that doesn't
exist is normally a good way to generate notices. isset's job is not
to tell you if an array key exists, so why use it for that purpose?

This is the difference I'm on about:

$z = array('a' => 1, 'b' => NULL);
echo array_key_exists('a', $z)?"yes\n":"no\n";
echo isset($z['a'])?"yes\n":"no\n";
echo array_key_exists('b', $z)?"yes\n":"no\n";
echo isset($z['b'])?"yes\n":"no\n";

This prints:

yes
yes
yes
no

That last 'no' has huge bug potential.

I'm not saying it doesn't have practical use, but I wouldn't call it
good practice, and I wouldn't advise people to do it that way in new
code. As it happens, isset _will_ usually work for things that come
through the web-driven superglobals, but not all arrays come from
there - if you use the same syntax for dealing with databases or your
own objects you could be creating some very entertaining bugs. I
don't know about you but I often deal with arrays containing NULL
values where using isset would be very wrong.

Marcus
--
Marcus Bointon
Synchromedia Limited: Putting you in the picture
marcus@synchromedia.co.uk | http://www.synchromedia.co.uk

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация