ホームページ > バックエンド開発 > PHPの問題 > PHP の return ステートメントは配列を返すことができますか?

PHP の return ステートメントは配列を返すことができますか?

PHPz
リリース: 2023-04-23 17:11:35
オリジナル
1603 人が閲覧しました

PHP 開発では、関数を使用して特定の関数を実装することがよくあります。関数内では複数の値を返す必要がある場合があります。その場合、それらを均一に返すために配列を使用する必要があります。そこで質問は、PHP の return ステートメントは配列を返すことができるかということです。答えは「はい」です。

PHP では、return ステートメントは値または配列を返すことができます。配列を返す方法を見てみましょう。

インデックス配列を返す

PHP では、最も一般的な配列タイプはインデックス配列であり、要素のキー値として数値を使用します。インデックス配列を関数の戻り値として使用するには、return ステートメントで配列名を直接返すだけです。

function getSquares($arr){
    $squares = [];
    foreach ($arr as $value) {
        array_push($squares, $value * $value);
    }
    return $squares;
}

$nums = [1, 2, 3, 4, 5];
$squares = getSquares($nums);
print_r($squares); // Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
ログイン後にコピー

上の例では、配列パラメータを受け取り、渡された配列の各要素の二乗値を格納する新しい配列を返す getSquares() 関数を定義しました。 foreach ループは関数内で使用され、渡された配列を走査し、各要素の二乗値を新しい配列 $squares に格納します。最後に、関数の戻り値として $squares 配列を返します。

メイン プログラムでは、1 から 5 までの 5 つの数値を格納する $nums 配列を定義します。 getSquares() 関数を呼び出し、$nums 配列をパラメータとして渡します。結果として得られる $squares 配列は、各要素の二乗値で構成される新しい配列です。 print_r() 関数を使用して $squares 配列を出力すると、その要素が元の配列 $nums の対応する要素の二乗値に対応していることがわかります。

連想配列を返す

PHP の return ステートメントは、インデックス配列を返すだけでなく、別の一般的な配列タイプである連想配列も返すことができます。連想配列では、文字列キー値を使用して配列要素のインデックスを作成します。同様に、関数の戻り値として連想配列を使用するには、return ステートメントで配列名を直接返すだけで済みます。

function getUserInfo($name){
    $user = [
        'name' => $name,
        'age' => 25,
        'gender' => 'male'
    ];
    return $user;
}

$userInfo = getUserInfo('Tom');
print_r($userInfo); // Array ( [name] => Tom [age] => 25 [gender] => male )
ログイン後にコピー

上の例では、getUserInfo() 関数を定義しました。この関数は文字列型の $name パラメータを受け取り、$ name、$age、$ などのユーザーに関連する情報を格納する連想配列を返します。性別。関数内では、まず $user 配列が定義され、その中に上記の 3 つの情報が格納されます。最後に、関数の戻り値として $user 配列を返します。

メイン プログラムでは、getUserInfo() 関数を呼び出し、パラメータとして「Tom」を渡します。取得した $userInfo 配列がユーザーの関連情報です。 $userInfo 配列を print_r() 関数で出力すると、各情報に対応するキー値が正しく表示されていることがわかります。

多次元配列を返す

PHP の配列は多次元配列もサポートします。つまり、配列には配列が含まれます。最初の 2 つのケースと同様に、return ステートメントで多次元配列全体を返す必要があるだけです。

function getStudents(){
    $students = [
        [
            'name' => 'Tom',
            'score' => 90
        ],
        [
            'name' => 'Jerry',
            'score' => 80
        ]
    ];
    return $students;
}

$students = getStudents();
print_r($students); 
/* Array ( 
       [0] => Array ( [name] => Tom [score] => 90 ) 
       [1] => Array ( [name] => Jerry [score] => 80 ) 
    ) 
*/
ログイン後にコピー

上の例では、getStudents() 関数を定義しました。この関数は、2 人の学生に関する情報を含む多次元配列を返します。各学生は、「名前」と「スコア」の 2 つの要素を含む連想配列で表されます。情報の。関数内では、まず $students 配列が全体として定義されます。各要素は生徒の情報です。最後に、$students 配列を関数の戻り値として返します。

メイン プログラムでは、getStudents() 関数を呼び出し、返された $students 配列を出力します。この配列には 2 つのサブ配列が含まれており、各サブ配列には学生に関する情報が含まれていることがわかります。

概要

上記の 3 つのケースでは、配列型の値が正常に返されました。 PHP では、return ステートメントは配列型を含むさまざまな型の値を返すことができます。関数が複数の値を返す必要がある場合、配列を使用してそれらを均一に返すことができます。関数の戻り値として配列を使用する場合、配列のキー値と要素の型がプログラムの期待される結果と一致していることを確認する必要があります。

以上がPHP の return ステートメントは配列を返すことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート