Hi,
I trying to find a reason why array functions are not allowed to be used as 
normal arrays. To clarify, I'm allowed to write

$arr = array( "maria", "mario", "luigi", "luisa");
echo $arr[1];

but I'm not allowed to write

echo array( "maria", "mario", "luigi", "luisa")[1];

In PHP documentation I read that "array" is a language construct, not a 
function. So this may be the reason. But I also tried with

echo (explode (" ", "maria mario luigi luisa"))[1];

and this doesn't work either (even if "explode" is a function). Not 
surprisingly,

$arr = explode (" ", "maria mario luigi luisa");
echo $arr[1];

does work. So, if I can straightforwardly divide by, say, 2 the integer output 
by a function, why shouldn't I be allowed to straightforwardly use the array 
output by a function?

This is not something completely weird that I'm asking. In Visual Basic (that I 
know mustn't be the most loved programming language for PHP users) you can say

print array( "maria", "mario", "luigi", "luisa")(1)

Maybe is THIS the reason why it doesn't work in PHP? ;-)

Thanks for your consideration and help

Stefano



 
Stefano Federici
-------------------------------------------------
Università degli Studi di Cagliari
Facoltà di Scienze della Formazione
Dipartimento di Scienze Pedagogiche e Filosofiche
Via Is Mirrionis 1, 09123 Cagliari, Italia
-------------------------------------------------
Tel: +39 349 818 1955 Fax: +39 070 937 1870

Reply via email to