おえぷろべい

お絵かきとかプログラミングとか米国株投資についてのなんやかんや

パラメータと引数の違いについて

f:id:feci:20210820193453j:plain

プログラミング

 

パラメータと引数の違いについての解説です。

<?php

function aaa($a, $b) {         //$aと$bはaaa関数の引数
  $c = ($a + $b) / rand(1,5);  //$aと$bはたぶん引数・1と5はrand関数のパラメータ
  return $c;                   //$cは返り値(戻り値)
}

$c = rand(150);              //1と50はrand関数のパラメータ
$d = rand(51100);            //51と100はrand関数のパラメータ

$aaa = aaa($c, $d);            //$cと$dはaaa関数のパラメータ

echo $aaa;                     //$aaaはecho関数のパラメータ

パラメータと引数の違いは、おそらくは上記スクリプトのような感じです。

 

 

●パラメータについて

パラメータは関数やメソッドの定義に使用される値のことです。

ちなみに、パラメータと仮引数は同じものです。

 

 

●引数について

引数は関数やメソッドの実行時に実際に引き渡される値のことです。

ちなみに、引数と実引数は同じものです。

 

それから、関数やメソッドの実行時に引き渡される値は引数自身ではなく、実際にはそのコピーの値が渡されて処理されているようです。

 

 

ネットで「引数 パラメータ 違い」と検索すると、「パラメータは関数に受け渡されるものの宣言です。 引数は関数に渡した実際の値のことです。」というような記述がヒットします。

 

これ、いまのいままで完全に勘違いしてたんですが、ユーザー定義関数のパレンティス(丸括弧)の記述は、あれはパラメータではなく引数でよかったみたいです。

 

先の説明を見て、なぜか私はコードに書いてあるのはすべてパラメータで、スクリプトやプログラムの実行時に実際に引き渡されて処理されている値のことを概念的に引数と呼称しているのだとばかり思っていました。

でもどうやらこの認識は間違いのようです。

 

関数実行時に指定する値はパラメータですが、関数定義時のパレンティス内の値は引数のようです。

 

 

以上です。