On Wed, 2011-01-12 at 11:45 -0800, sono...@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


Reply via email to