目次
インデックス配列を返す
連想配列を返す
多次元配列を返す
概要
ホームページ バックエンド開発 PHPの問題 PHP の return ステートメントは配列を返すことができますか?

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

Apr 23, 2023 pm 04:43 PM

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPアレイの重複排除のためのベストプラクティスは何ですか PHPアレイの重複排除のためのベストプラクティスは何ですか Mar 03, 2025 pm 04:41 PM

この記事では、効率的なPHPアレイ重複排除について説明します。 Array_unique()などの組み込み関数をカスタムハッシュマップアプローチと比較し、配列のサイズとデータ型に基づいてパフォーマンスのトレードオフを強調します。 最適な方法は、プロビリに依存します

PHPアレイの重複排除は、キー名の一意性を利用できますか? PHPアレイの重複排除は、キー名の一意性を利用できますか? Mar 03, 2025 pm 04:51 PM

この記事では、Keyの一意性を使用してPHPアレイ重複排除について説明します。 直接的な重複除去方法ではありませんが、キーユニークネスを活用することで、キーに値をマッピングして重複を上書きすることにより、一意の値を持つ新しい配列を作成できます。 このAP

PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? PHPアレイの重複排除は、パフォーマンスの損失について考慮する必要がありますか? Mar 03, 2025 pm 04:47 PM

この記事では、PHPアレイの重複排除を分析し、素朴なアプローチ(O(n²))のパフォーマンスボトルネックを強調しています。 カスタム関数、splobjectStorage、およびハッシュセットの実装を使用して、array_unique()を使用して効率的な代替案を調査し、達成します

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

PHPアレイの重複排除のための最適化手法は何ですか PHPアレイの重複排除のための最適化手法は何ですか Mar 03, 2025 pm 04:50 PM

この記事では、大規模なデータセットのPHPアレイ重力化の最適化について説明します。 Array_unique()、array_flip()、splobjectStorage、事前ソートなどの手法を調べ、効率を比較します。 大規模なデータセットの場合、チャンク、データブを示唆しています

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細

See all articles