LoginSignup
0
0

More than 5 years have passed since last update.

一つのreturn命令文で複数の値を返す方法

Posted at

通常一つのreturn文では複数の値を返すことができない。
ただ返す値を配列にしてあげることで問題は解決する。

ex.配列で返す)
//テストの点数配列を用意
$testScore = ['math' => '70',
              'japanese' => '60',
              'english' => '80',
              'history' => '50'
             ];

//returnで配列を返している
function grade($testScore) {
    $total = array_sum($testScore);
    $count = count($testScore);
    $median = $total / $count;
    $rate = ($total / '500') * '100'.'%';

    return array($total, $median, $rate);
}

$array = grade($testScore);
var_dump($array);
//array(3) { [0]=> int(260) [1]=> int(65) [2]=> string(3) "52%" }

因みに連想配列にして返すことも可能だ。

ex.連想配列で返す)
....
function grade($testScore) {
    $total = array_sum($testScore);
    $count = count($testScore);
    $median = $total / $count;
    $rate = ($total / '500') * '100'.'%';

    return array('total'  => $total, 
                 'median' => $median,
                 'rate'   => $rate
                );
}

$array = grade($testScore);
var_dump($array);
//array(3) { ["total"]=> int(260) ["median"]=> int(65) ["rate"]=> string(3) "52%" }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0