Req #50945 [Com]: [PATCH] func_get_args(offset=0)
Edit report at https://bugs.php.net/bug.php?id=50945&edit=1
ID: 50945
Comment by: phristen at yahoo dot com
Reported by: robert at binalan dot com
Summary: [PATCH] func_get_args(offset=0)
Status: Open
Type: Feature/Change Request
Package: *General Issues
Operating System: FreeBSD
PHP Version: 5.2.12
Block user comment: N
Private report: N
New Comment:
Exactly, array_slice is what you wanna do.
Which is why it would probably be best to add 2 optional parameters to func_get_args, and not just
one. So it will behave exactly like array_slice.
Previous Comments:
------------------------------------------------------------------------
[2010-08-28 14:29:48] + at ni-po dot com
@kwilson: Maybe this is a reason why he doesn't like to use array_shift: You already used it
wrong! To make it work you would need to write:
$data = func_get_args();
array_shift($data);
array_shift($data);
Better use array_slice:
$data = array_slice(func_get_args(), 2);
(This only works as of PHP 5.3, in PHP 5.2 you need to write: $data = func_get_args(); $data =
array_slice($data, 2);.)
I do support the introduction of this additional parameter. It is annoying to always array_shift /
array_slice some stuff from the arguments ;)
------------------------------------------------------------------------
[2010-03-06 12:50:28] kalle@php.net
The following patch has been added/updated:
Patch Name: func-get-args-with-offset
Revision: 1267876228
URL: http://bugs.php.net/patch-display.php?bug=50945&patch=func-get-args-with-offset&revision=1267876228&display=1
------------------------------------------------------------------------
[2010-02-16 21:30:46] kwilson at shuttlebox dot net
Why wouldn't you just use array_shift? The PHP folks don't seem to like to implement
features when there is already an approach to accomplish the task in few steps:
function moduleNotify($module, $message/*, ...args*/)
{
$data = array_shift(array_shift(func_get_args()));
switch($module){
case 'Database':
list($host, $user, $pass, $base) = $data;
break;
case 'UserLogin':
list($user, $pass, $iris, $lang) = $data;
break;
}
------------------------------------------------------------------------
[2010-02-06 07:53:23] robert at binalan dot com
Description:
------------
function moduleNotify($module, $message/*, ...args*/)
{
switch($module){
case 'Database':
list($host, $user, $pass, $base) = func_get_args(2);
break;
case 'UserLogin':
list($user, $pass, $iris, $lang) = func_get_args(2);
break;
}
/*
feature request:
func_get_args(offset=0)
returns arguments in same zero based array from a given offset in the argument list.
*/
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=50945&edit=1
Thread (6 messages)