Current Location: Home> Latest Articles> 【Three Common Methods to Return Multiple Values from PHP Functions Explained】

【Three Common Methods to Return Multiple Values from PHP Functions Explained】

gitbox 2025-06-24

How to Return Multiple Values from PHP Functions?

In PHP programming, although a function technically has a single return point, we can simulate returning multiple values by using some flexible approaches. The common methods include returning arrays, objects, or using the list keyword. This article will walk you through each method.

1. Returning Multiple Values Using Arrays

The most straightforward and commonly used method is to package multiple values into an array and return it. This technique is widely used in PHP function handling.


function getPerson() {
    $name = "John";
    $age = 30;
    $gender = "Male";
    
    return array($name, $age, $gender);
}

$result = getPerson();
echo "Name: " . $result[0] . "<br>";
echo "Age: " . $result[1] . "<br>";
echo "Gender: " . $result[2] . "<br>";

In the code above, the getPerson() function returns an array containing name, age, and gender. The caller accesses each returned value using array indices.

2. Returning Multiple Values Using Objects

If you want more structured data return, using objects offers better flexibility and readability, especially when handling complex data.


class Person {
    public $name;
    public $age;
    public $gender;
}

function getPerson() {
    $person = new Person();
    $person->name = "John";
    $person->age = 30;
    $person->gender = "Male";
    
    return $person;
}

$result = getPerson();
echo "Name: " . $result->name . "<br>";
echo "Age: " . $result->age . "<br>";
echo "Gender: " . $result->gender . "<br>";

This method returns an object, where properties are accessed via the arrow operator (->), making the code clearer and more extendable.

3. Using the list() Keyword to Destructure Arrays

PHP’s list() keyword is a handy feature that allows you to assign array values directly to multiple variables, improving readability.


function getPerson() {
    $name = "John";
    $age = 30;
    $gender = "Male";
    
    return array($name, $age, $gender);
}

list($name, $age, $gender) = getPerson();
echo "Name: " . $name . "<br>";
echo "Age: " . $age . "<br>";
echo "Gender: " . $gender . "<br>";

Using list(), developers can directly access each returned element without using array indices.

Summary

PHP offers several ways to simulate functions returning multiple values. Choosing between arrays, objects, or list destructuring depends on the specific needs of your application. Arrays are simple and quick; objects provide structured data handling; and list() enhances readability. Selecting the right method helps improve code clarity and development efficiency.