PHP Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 3.00

Returning Values from Functions

This section provides a tutorial example on how to return values from functions - using the 'return' statement.

PHP supports function return values with some basic rules:

  • If a function is executed without reaching a return statement, it will return NULL.
  • A function can use a "return" statement to return all 8 types of values: boolean, integer, float, string, array, object, resource, null.
  • If you use a "return" statement to return a variable, a copy of the data in the variable will be returned to the calling code.

To help us understand these rules, I wrote this tutorial example:

<?php # FunctionReturnValues.php
# Copyright (c) 2003 by Dr. Herong Yang. http://www.herongyang.com/
#
   function returnType($arg) {
      if (is_null($arg)) return "NULL";
      elseif (is_bool($arg)) return "BOOLEAN";
      elseif (is_int($arg)) return "INTEGER";
      elseif (is_float($arg)) return "FLOAT";
      elseif (is_string($arg)) return "STRING";
      elseif (is_array($arg)) return "ARRAY";
      elseif (is_object($arg)) return "OBJECT";
      elseif (is_resource($arg)) return "RESOURCE";
      else return "UNKNOWN";      
   }
   print("\n Returning a scalar value:\n");
   print("    1: " . returnType(1) . "\n");
   print("    1.0: " . returnType(1.0) . "\n");
   print("    array(1.0): " . returnType(array(1.0)) . "\n");

   function createArray() {
      return func_get_args();
   }
   print("\n Returning an array value:\n");
   print("    createArray(): ".returnType(createArray(3,6,9))."\n");

   function currentDate() {
      return new DateTime();
   }
   print("\n Returning an object value:\n");
   print("    currentDate(): " . returnType(currentDate()) . "\n");

   function noReturn() {
   }
   print("\n Function without return statements:\n");
   print("    noReturn(): " . returnType(noReturn(3,1,4)) . "\n");
?>

If you run this sample script, you should get:

 Returning a scalar value:
    1: INTEGER
    1.0: FLOAT
    array(1.0): ARRAY

 Returning an array value:
    createArray(): ARRAY

 Returning an object value:
    currentDate(): OBJECT

 Function without return statements:
    noReturn(): NULL

Last update: 2005.

Sections in This Chapter

What Is a Function?

"function" Statements - Defining Functions

Function Call Operations

Passing Arguments to Functions

Example of Passing Arguments by Values

Using Pass-by-Value Arguments for References

Example of Passing Arguments by References

Variable-Length Argument Lists

Providing Default Values to Argument Variables

Returning Values from Functions

Returning References from Functions

Dr. Herong Yang, updated in 2009
Returning Values from Functions