ID: 34120
User updated by: ondrej at sury dot org
-Summary: func_get_arg() can not be used more than once in
function calls
Reported By: ondrej at sury dot org
Status: Open
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 4.4.0, 5.0.4
New Comment:
I am doing bug triage in Debian BTS and this bug was there...
Sooo, if you are ever bored, feel free to fix it :-).
Ondrej.
Previous Comments:
------------------------------------------------------------------------
[2005-08-13 14:38:51] [EMAIL PROTECTED]
Well, that's true then. But I'm not sure how important this bug is :)
------------------------------------------------------------------------
[2005-08-13 14:37:03] ondrej at sury dot org
Hi Derrick,
I don't consider to be bug, that it cannot be used as function
argument.
However I consider to be bug, that it CAN be used if you use it only
once.
This works:
doTitle(func_get_arg(0));
This works also:
doTitle(func_get_arg(1));
So it should not work at all, to be consistent.
Ondrej.
------------------------------------------------------------------------
[2005-08-13 14:25:47] [EMAIL PROTECTED]
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php
.
------------------------------------------------------------------------
[2005-08-13 13:59:26] ondrej at sury dot org
Happens in php 5.0.4 as well
------------------------------------------------------------------------
[2005-08-13 13:58:46] ondrej at sury dot org
Description:
------------
func_get_arg() can be used as argument to function only once.
Reproduce code:
---------------
<?php
function doTitle($a = NULL, $b = NULL) {
print "doTitle: $a, $b\n";
}
function doHead() {
doTitle(func_get_arg(0));
doTitle(func_get_arg(1));
doTitle(func_get_arg(0), "3");
doTitle(func_get_arg(0), func_get_arg(1));
}
doHead("1", "2");
?>
Expected result:
----------------
doTitle: 1,
doTitle: 2,
doTitle: 1, 3
doTitle: 1, 2
Actual result:
--------------
doTitle: 1,
doTitle: 2,
doTitle: 1, 3
Fatal error: func_get_arg(): Can't be used as a function parameter in
/tmp/func_get_arg.php on line 11
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=34120&edit=1