home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Programming PHPProgramming PHPSearch this book

3.6. Variable Functions

As with variable variables, you can call a function based on the value of a variable. For example, consider this situation, where a variable is used to determine which of three functions to call:

switch($which) {
  case 'first':
    first( );
    break;
  case 'second':
    second( );
    break;
  case 'third':
    third( );
    break;
}

In this case, we could use a variable function call to call the appropriate function. To make a variable function call, include the parameters for a function in parentheses after the variable. To rewrite the previous example:

$which();  // if $which is "first" the function first( ) is called, etc...

If no function exists for the variable, a runtime error occurs when the code is evaluated. To prevent this, you can use the built-in function function_exists( ) to determine whether a function exists for the value of the variable before calling the function:

$yes_or_no = function_exists(function_name);

For example:

if(function_exists($which)) {
  $which();  // if $which is "first" the function first( ) is called, etc...
}

Language constructs such as echo( ) and isset( ) cannot be called through variable functions:

$f = 'echo';
$f('hello, world');  // does not work


Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.