Re: Using count() as an array index [message #178411 is a reply to message #178410] |
Fri, 15 June 2012 19:04 |
Gregor Kofler
Messages: 69 Registered: September 2010
Karma:
|
Member |
|
|
Am 2012-06-15 20:51, Martin Leese meinte:
> I am using PHP version 4.2.3. This is old,
> but I cannot upgrade.
>
> I came across a strange limitation which is
> puzzling me. The following test program:
>
> <?php
> // This PHP file tests the use of count() as an array index
> $anArray[1] = "This is element one";
> $anArray[2] = "This is element two";
> $anArray[3] = "This is the last element";
> //
> echo "$anArray[count($anArray)]\n";
> ?>
>
> produces the error message:
> Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE,
> expecting ']' in CountTest.php on line 7
>
> Why is using count() as an array index not
> allowed?
That's not what the error message says.
> This is no big deal as the work around is
> trivial; just replace the last line with:
>
> $lastIndex = count($anArray);
> echo "$anArray[$lastIndex]\n";
Which produces a notice "Undefined offset: ..."
> However, it is puzzling.
No. Read about "interpolation" in PHP. (As a hint: PHP can't isolate the
function name.)
Gregor
--
http://vxweb.net
|
|
|