php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #25993 Lack of functions functionality
Submitted: 2003-10-26 10:28 UTC Modified: 2003-10-27 10:35 UTC
From: ausvald at tut dot by Assigned:
Status: Not a bug Package: Feature/Change Request
PHP Version: * OS: *
Private report: No CVE-ID: None
 [2003-10-26 10:28 UTC] ausvald at tut dot by
Description:
------------
<?

//#1

function test1(){
	return __FUNCTION__;
}

echo test1()();

//#2

function test2($var){
	return array($var=>$var);
}
echo test2('test')['test'];


?>

Why these things are not implemented in PHP5? And when are they going to be?


Reproduce code:
---------------
<?

//#1

function test1(){
	return __FUNCTION__;
}

echo test1()();

//#2

function test2($var){
	return array($var=>$var);
}
echo test2('test')['test'];


?>

Why these things are not implemented in PHP5? And when are they going to be?


Expected result:
----------------
<?

//#1

function test1(){
	return __FUNCTION__;
}

echo test1()();

//#2

function test2($var){
	return array($var=>$var);
}
echo test2('test')['test'];


?>

Why these things are not implemented in PHP5? And when are they going to be?


Actual result:
--------------
Error

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-10-26 12:40 UTC] helly@php.net
We don't have $var=>$var, use $var->var.

Besides that noone reading your code will know what you want. For example what is 'test1()();' supposed to do in your oppinion?
 [2003-10-27 04:54 UTC] ausvald at tut dot by
Ok, i thought it's rather easy to understand.

#1:

$test=test1(); //$test="test1";
echo $test();  // echo "test1";

So why there is no way just to write test()(), which means run variable function that is returned by another function?

#2:

array($var=>$var) construction means i'm creating an array with 1 element which has key $var and value $var.

$test=test2('test'); $test=array('test'=>'test');
echo $test['test']; echo 'test';

So why there is no way just to write echo test2('test')['test'], which means to get an element of array that is returned by a function?

Thanks.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC