- stristr: documentation ( source)
- explode: documentation ( source)
<?php
class Foo{
public static function Bar(&$num){ $num*=50; }
}
$functionname = "Foo::Bar";
$num = 3;
echo 'call_user_func_array: ';
call_user_func_array($functionname, array($num));
echo $num;
echo "\n";
$num = 3;
echo "other way: ";
if (stristr($functionname, '::') !== false) {
list($class, $function) = explode('::', $functionname);
$class::$function($num);
} else {
$functionname($num);
}
echo $num;