downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  

<Function handling Functionscall_user_func>
Last updated: Thu, 26 Jun 2008

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5)

call_user_func_array — Call a user function given with an array of parameters

Description

mixed call_user_func_array ( callback $function , array $param_arr )

Call a user defined function with the parameters in param_arr .

Parameters

function

The function to be called.

param_arr

The parameters to be passed to the function, as an indexed array.

Return Values

Returns the function result, or FALSE on error.

Examples

Example #1 call_user_func_array() example

<?php
function debug($var, $val)
{
   echo
"***DEBUGGING\nVARIABLE: $var\nVALUE:";
   if (
is_array($val) || is_object($val) || is_resource($val)) {
      
print_r($val);
   } else {
       echo
"\n$val\n";
   }
   echo
"***\n";
}

$c = mysql_connect();
$host = $_SERVER["SERVER_NAME"];

call_user_func_array('debug', array("host", $host));
call_user_func_array('debug', array("c", $c));
call_user_func_array('debug', array("_POST", $_POST));
?>

Example #2 call_user_func_array() using namespace name

<?php

namespace Foobar
;

class
Foo {
   static
public function test($name) {
       print
"Hello {$name}!\n";
   }
}

// As of PHP 5.3.0
call_user_func_array(__NAMESPACE__ .'::Foo::test', array('Hannes'));
// Hello Hannes!

// As of PHP 5.3.0
call_user_func_array(array(__NAMESPACE__ .'::Foo', 'test'), array('Philip'));
// Hello Philip!

?>

Notes

Note: Referenced variables in param_arr are passed to the function by a reference, others are passed by a value. In other words, it does not depend on the function signature whether the parameter is passed by a value or by a reference.

See Also



add a noteadd a note User Contributed Notes
Call a user function given with an array of parameters
There are no user contributed notes for this page.




<Function handling Functionscall_user_func>
Last updated: Thu, 26 Jun 2008
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://phpbuilder.com/
Last updated: Tue Nov 1 20:20:59 2005 EST
Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs