Bug #14112 Updated: sprintf_array()

From: Date: Mon, 19 Nov 2001 11:47:51 +0000
Subject: Bug #14112 Updated: sprintf_array()
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-70900@lists.php.net to get a copy of this message
ID: 14112 Updated by: zak Reported By: lenar@vision.ee Status: Open Bug Type: Feature/Change Request Operating System: Linux PHP Version: 4.1.0RC1 New Comment: I would guess that implementing it as a native PHP function would be at least 2x as fast. I suppose the issue now is finding out if the core PHP developers consider the function to have enough value to add it. My personal, non-core developer, opinion is that I don't like the idea of adding this function. Perhaps instead we could overload the current implementations of printf and sprintf so that they can accept a single-dimension array as the second parameter (and in this case, final, parameter)? Previous Comments: ------------------------------------------------------------------------ [2001-11-19 06:11:24] lenar@vision.ee Yes something like this should work. But it's not as fast as it could be. And I personally like when thins are as fast as possible. ------------------------------------------------------------------------ [2001-11-19 05:53:41] zak@php.net Why not just build your own function? function sprintf_array ($format) { if (1 == func_get_args () ) { return sprintf ($format); } $argv = func_get_args (); return call_user_func_array ('sprintf', $argv); } (Not tested, but something like this should work. :) ------------------------------------------------------------------------ [2001-11-19 05:46:48] lenar@vision.ee Hi, During development i felt great need for function that could be named sprintf_array() That is ordinary sprintf() which would be able to take arguments from array: string sprintf_array(string format, array args) What do you think? Lenar ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14112&edit=1

« previous php.dev (#70900) next »