目次
インデックス配列を返す
連想配列を返す
多次元配列を返す
概要
ホームページ バックエンド開発 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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 OWASPトップ10 PHP:共通の脆弱性を説明し、軽減します。 Mar 26, 2025 pm 04:13 PM

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 PHPセキュアファイルアップロード:ファイル関連の脆弱性の防止。 Mar 26, 2025 pm 04:18 PM

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

PHP暗号化:対称と非対称暗号化。 PHP暗号化:対称と非対称暗号化。 Mar 25, 2025 pm 03:12 PM

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

PHP認証&承認:安全な実装。 PHP認証&承認:安全な実装。 Mar 25, 2025 pm 03:06 PM

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

PHP APIレート制限:実装戦略。 PHP APIレート制限:実装戦略。 Mar 26, 2025 pm 04:16 PM

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

PHP CSRF保護:CSRF攻撃を防ぐ方法。 PHP CSRF保護:CSRF攻撃を防ぐ方法。 Mar 25, 2025 pm 03:05 PM

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。

PHP入力検証:ベストプラクティス。 PHP入力検証:ベストプラクティス。 Mar 26, 2025 pm 04:17 PM

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

See all articles