PHPの関数から複数の値を返す

Return Multiple Values From Function Php



この関数は、を使用して呼び出し元に値を返すことができます。 戻る 任意のプログラミング言語でのステートメント。このステートメントをPHPで使用して、関数から単一および複数の値を返すこともできます。配列変数とオブジェクト変数は、複数の値を格納するために使用されます。これらのタイプの変数を使用することにより、PHP関数から複数の値を返すことができます。このチュートリアルでは、PHPスクリプトを使用して関数から複数の値を返す方法を示します。

例1:複数の値を配列として返す

次のスクリプトを使用してPHPファイルを作成し、複数の値を配列として返します。ここで、 Function1() 5つの値を5つの変数に割り当てるように定義されています。次に、これらの値は配列として呼び出し元に返されます。戻り値は、という名前の配列変数に格納されます $ languages を使用して印刷 var_dump() 関数。









// PHP関数を定義します
関数機能1(()。{{

//値を5つの変数に割り当てます
$ lang1 = 「HTML」;
$ lang2 = 「PHP」;
$ lang3 = 「JAVA」;
$ lang4 = 「JavaScript」;
$ lang5 = 「XML」;

//配列を使用して呼び出し元に複数の値を返します
戻る 配列 (($ lang1 $ lang2 $ lang3 $ lang4 $ lang5)。;
}

//戻り値を保存します
$ languages =機能1(()。;

//戻り値をデータ型で出力します
var_dump (($ languages)。;

?>

出力:



上記のスクリプトをWebサーバーから実行すると、次の出力が表示されます。







例2:戻り値を複数の変数に格納する

次のスクリプトを使用してPHPファイルを作成し、配列を使用して複数の値を返し、それらを複数の変数に格納します。ここで、 employee_details() は、従業員情報を6つの変数に格納し、これらの変数は配列を使用して呼び出し元に返されるように定義されています。関数からの戻り値を受け取るために、6つの変数を持つ配列が宣言されています。次に、これらの変数は、従業員の総給与を計算した後に出力されます。



// PHP関数を定義します
関数employee_details(()。{{

//従業員の詳細を割り当てます
$ name = 「もっとニガー」;
$ email = '[メール保護]';
$ phone = '8801825763564';
$ basic = 40,000;
$ house_rent = 10,000;
$ transport = 5000;

//配列を使用して値を返します
戻る [$ name $ email $ phone $ basic $ house_rent $ transport];
}

//配列値を変数に格納します
[$ n $ e $ p $ b $ h $ r] =employee_details(()。;

//給与額を計算します
$ salary = $ b + $ h + $ r;

//従業員の詳細を印刷します
捨てた ' 従業員の詳細:
'
;
捨てた '名前:$ n
Eメール:$ e
電話:$ p
給料:$ salary'
;

?>

出力:



上記のスクリプトをWebサーバーから実行すると、次の出力が表示されます。関数から6つの値が返され、6つの変数に格納されます。従業員の給与は、最後の3つの変数の値を加算して計算されます。名前、電子メール、電話番号、および総給与が出力としてここに印刷されています。

例3:条件ステートメントに基づいて複数の値を返す

次のスクリプトを使用してPHPファイルを作成し、条件ステートメントに基づいて複数の値を返します。ここで、 算術演算() 3つの引数を取ることができるが定義されています。最初の引数は任意の演算子記号( ‘+’、 ‘-‘、 ‘x’、 ‘/’)を取り、2番目と3番目の引数は任意の数値を取ります。関数は、の値に基づいて加算または減算または乗算または除算を計算します $ operator $ value1、$ value2、および$ resultの値を配列として返します。



//引数を使用してPHP関数を定義します
関数算術演算(($ operator $ value1 $ value2)。
{{

//演算子に基づいて算術演算を実行します
もしも(($ operator == '+')。{{
$ result = $ value1 + $ value2;
}
elseif(($ operator == '-')。{{
$ result = $ value1 - $ value2;
}
elseif(($ operator == 'NS')。{{
$ result = $ value1 * $ value2;
}
elseif(($ operator == '/')。{{
$ result = $ value1 / $ value2;
}
そうしないと{{
$ result = 「演算子は未定義です」;
}

//複数の値を呼び出し元に返します
戻る 配列 (($ value1 $ value2 $ result)。;

}

//演算子を割り当てます
$ operator = '-';
//関数からの戻り値を格納します
$ values =算術演算(($ operator 80 50)。;
//戻り値を出力します
捨てた $ values[0]''$ operator''$ values[1]'='$ values[2];
?>

出力:

上記のスクリプトをWebサーバーから実行すると、次の出力が表示されます。 ‘-‘記号は演算子として指定され、関数の2番目と3番目の引数には80と50が指定されます。したがって、80-50の減算値は30であり、出力として出力されます。

例4:yieldキーワードを使用して複数の値を返す

次のスクリプトを使用してPHPファイルを作成します。このスクリプトは、yieldキーワードを使用して複数の値を返します。ここでは、user_data()関数を使用して、3つの複数の値を呼び出し元に返します。戻り値は、「for」ループを使用して出力されます。



// PHP関数を定義します
関数user_data(()。{{
// yieldを使用して複数の値を返します
収率 '[メール保護]';
収率 「abir990」;
収率 '845245';
}

//戻り値を保存します
$ user =user_data(()。;

捨てた ' ユーザーの詳細:
'
;
//ループを使用して戻り値を出力します
foreach(($ user なので $ value)。{{
捨てた $ value'
'
;
}

?>

出力:

上記のスクリプトをWebサーバーから実行すると、次の出力が表示されます。ここでは、戻り値は、を使用して各行に出力されます。 'にとって' ループ。

例5:データをフィルタリングした後に配列の複数の値を返す

次のスクリプトを使用してPHPファイルを作成し、配列からすべての偶数を返します。ここ、 filter_even() 関数は、数値の配列を引数として取り、配列から偶数を見つけて別の配列変数に格納し、新しい配列を呼び出し元に返すために使用されます。



// PHP関数を定義します
関数filter_even(($ num_array)。 {{

//空の配列を宣言します
$ even_numbers = 配列 (()。;

//ループを使用して配列の値を反復します
foreach(( $ num_array なので $ num )。 {{
もしも(( $ num 2 == 0 )。
array_push (( $ even_numbers $ num )。;
}

//フィルタリングされた配列を呼び出し元に返します
戻る $ even_numbers;

}

//数値配列を宣言します
$ numbers = 配列 ((8 55 2. 3 10 4 91 39 48)。;

捨てた 'フィルタリング前の数値のリスト:
'
;
//フィルタリングする前に配列を出力します
foreach(( $ numbers なので $時間 )。 {{
捨てた $時間 '';
}

//偶数を保存します
$ values =filter_even(($ numbers)。;

捨てた '

偶数のリスト:
'
;
//戻り値を出力します
foreach(( $ values なので $時間 )。 {{
捨てた $時間 '';

}

?>

出力:

上記のスクリプトをWebサーバーから実行すると、次の出力が表示されます。出力には、メイン配列とフィルター処理された配列の値が表示されます。

結論

このチュートリアルでは、配列変数を使用して関数から複数の値を返す方法を、さまざまな例を使用して示しています。オブジェクト変数を使用して、PHPスクリプトを使用して関数から複数の値を返すこともできます。