PHP の return ステートメントは配列を返すことができますか?
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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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