ホームページ >バックエンド開発 >PHPチュートリアル >1つのPHP関数から複数の値を返す方法

1つのPHP関数から複数の値を返す方法

PHPz
PHPzオリジナル
2023-08-27 14:05:111885ブラウズ

1つのPHP関数から複数の値を返す方法

主に関数パラメータを使用して、関数内の外部データを取得してさらに処理します。同様に、関数の外で処理されたデータにアクセスするために、PHP 関数から値を返します。 PHP では、戻り値の有無にかかわらず関数を定義できます。

PHP の関数は複数のパラメーターを持つことができますが、複数の return ステートメントを持つことはできません。このチュートリアルでは、PHP で関数から複数の値を返す方法を説明します。

  • PHP の Return ステートメント
  • 配列を使用して複数の値を返す
  • オブジェクトを使用して複数の値を返す

PHP

の return ステートメント PHP の

関数には、オプションの return ステートメントを含めることができます。関数内から呼び出された場合、return ステートメントはそれ以降のコードの実行を直ちに停止します。これには、他の return ステートメントも含まれます。以下に例を示します:

リーリー

上記のコードを実行しても、$y 値に関するステートメントはエコーされないことに注意してください。これは、最初の return ステートメントの後に関数が実行を停止するためです。 list() を使用して変数値を割り当てる行のコメントを解除すると、$m$n は両方とも NULL になります。 list() は配列でのみ機能し、関数は数値のみを返すためです。

配列を使用して複数の値を返す

return ステートメントはあらゆる種類の値を返すことができることがわかっています。したがって、これを使用して、実際に返したいすべての値を含む配列を返すこともできます。上記の例を次のように書き換えて、複数の値を返すことができます:

リーリー

PHP の観点から見ると、依然として単一の値を返しますが、その単一の値は他の複数の値を含むことができる配列です。これは、PHP で複数の値を返す関数をシミュレートする最も簡単な方法の 1 つです。

上記の例では、2 つの値のみを返します。ただし、より多くの値が関係する場合は、返される値の正しい順序を覚えておく必要があるため、少し難しくなる可能性があります。

PHP 7.1 以降では、連想配列で list() を使用できるようになりました。これは、要素が返される順序は、割り当てられた値に影響を与えないことを意味します。以下に例を示します:

リーリー

数値インデックスではなくキーに基づいて値が割り当てられるため、変数 $m$n はどちらの場合も同じ値を取得することがわかります。

PHP 7.1 以降では、PHP が構造化構文をサポートするようになったため、list() を使用する必要さえなくなりました。前の例は次のように書き換えることができます:

リーリー

オブジェクトを使用して複数の値を返す

PHP 関数から複数の値を返す別の方法は、オブジェクトを返すことです。パブリックメンバー変数を使用して、さまざまなプロパティを持つクラスを定義できます。この手法の欠点の 1 つは、より多くのコードを記述する必要があるため、クラスの複数のインスタンスを保存するためにより多くのメモリを消費することです。利点は、同じ変数セットを複数の場所で使用できることです。

リーリー

ご覧のとおり、オブジェクトを作成し、そのさまざまなプロパティに値を割り当てるだけで、関数から複数の値を正常に取得できます。

最終的な考え###

このチュートリアルでは、PHP では関数から複数の値を直接返すことができないことを学びました。ただし、複数の値を配列またはオブジェクトにパックすることで、この制限を回避できます。その後、関数から配列またはオブジェクトを返し、値にアクセスするだけです。

以上が1つのPHP関数から複数の値を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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