読者です 読者をやめる 読者になる 読者になる

PHPでの関数のデフォルト値

tech


「3.4.3パラメータのデフォルト値」からのメモ。


リテラルをデフォルト値とすることは可能ですが、仮引数をデフォルト値として指定することはできません。

<?php
function myfunc($a , $b = $a*2)
{
  echo "$b\n";
}
myfunc(10);
?>
PHP Parse error:  syntax error, unexpected T_VARIABLE in /home/h13i32maru/php/3.4.3_default_val2.php on line 3


Rubyでは以下のように仮引数をデフォルト値として指定することができます。

#!/usr/bin/ruby
def myfunc(a , b = a*2)
  puts b
end

myfunc(10);
20