Re: Array Symbol Suggestion

From: Date: Wed, 12 Jan 2011 20:01:32 +0000
Subject: Re: Array Symbol Suggestion
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-310706@lists.php.net to get a copy of this message
On Wed, 2011-01-12 at 11:45 -0800, sono-io@fannullone.us wrote: > I'd like to make a suggestion for a change, or possibly an addition, to the PHP language. > > I'm learning PHP and have been very excited with what it can do in relation to HTML. But > when I got to the part about arrays, I was disappointed to see that they are designated with a $ the > same as other variables. I was learning Perl before I switched, and it uses the @ sign to designate > an array. That makes it a lot simpler to see at a glance what is an array and what isn't - at > least for beginners like me. > > Has there been any talk of adopting the @ sign for arrays in PHP? Or is that symbol used for > something else that I haven't read about yet? > > What is the proper channel for making suggestions like this? > > Thanks, > Marc PHP is a loosely typed language, so you can have a variable that, throughout its lifetime in an app, is both a scaler (integer, string, etc) or an array. For example: <?php $message = "hello world"; echo $message; $message = array('hello', 'bob'); echo "{$message[0]} {$message[1]}"; ?> There are functions you can use to determine the type of a variable, such as is_string() and is_array() and you can use var_dump() in debug statements to quickly see the type of a variable. I think changing something as integral as a variable prefix would break a lot of code which makes use of the loose typing, and would cause much more confusion further down the line. Also, as you may have guessed, the @ symbol is already in use at the moment. In PHP it ensures that minor errors are silently ignored. For example: @executeSomeFunction() would run that named function, but ignore any minor errors and warnings. You'll typically find it used a lot in calls to mail() as that can be flaky on some systems due to a number of factors outside of PHP. Thanks, Ash http://www.ashleysheridan.co.uk

« previous php.general (#310706) next »