PHPの関数で省略可能な引数を持った関数を宣言することはできますか?

オプショナルな引数というような意味合いです。
//$iwidthは時と場合によって省略可能にしたい。
test_func(500);
function test_func($isize[,$iwidth]) {
print ”<HR size =$isize width=$iwidth>”;
}

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/04/29 19:14:30
  • 終了:--

回答(4件)

id:GEN111 No.1

GEN111回答回数472ベストアンサー獲得回数582005/04/29 19:55:21

ポイント20pt

function test_func($isize, $iwidth = 10) {

print ”<HR size =$isize width=$iwidth>”;

}


上記のようにすれば

test_func(500)

で test_func(500, 10) と呼び出したのと同じになります。

id:nakeyouguisu

ありがとう御座います。デフォルト値を設定しておくのですね。

2005/05/01 22:40:48
id:html1983 No.2

html1983回答回数72ベストアンサー獲得回数02005/04/29 21:59:44

ポイント20pt

http://x-web.pobox.ne.jp/fphp/fphp_06.html

初めてのPHP 第3章 PHPの基本 P6

↓こんな感じでできると思います。

function test_func($isize,$iwidth = null) {

//省略

}


詳細は紹介したURLの「■デフォルト引数値」をごらんください。

id:nakeyouguisu

ありがとうございます。

2005/05/01 22:40:57
id:margherita No.3

margherita回答回数35ベストアンサー獲得回数02005/04/30 06:33:47

ポイント20pt

http://www.scollabo.com/banban/php/php_10.html

$B%f!<%6Dj5A4X?t(B/PHP$BF~Lg(B

初期値を設定しておくといいのでは?


function num($a = 5, $b = 10) {

$a = $a * $b;

return $a;

}


これだと

$num = 50

$num(2) = 20

$num(2, 2) = 4

です。

id:nakeyouguisu

なるほど

2005/05/01 22:41:16
id:english No.4

english回答回数304ベストアンサー獲得回数02005/04/30 09:48:50

ポイント20pt

全角のダブルクォテーションは半角に適宜書き換えてください。(hatanaのシステムがセキュリティ対策なのか、勝手に変更してしまうので。)

<?php

test_func(500);


function test_func($isize,$iwidth=’’) {

if($iwidth!= ””){

print ”<HR size =$isize width=$iwidth>”;

} else {

print ”<HR size =$isize>”;

}

}

?>

でOKかと思います。

id:nakeyouguisu

ありがとう御座いました。

デフォルト値の設定の仕方はしっていたのですが、それがオプショナル引数になるとは気がつきませんでした。

ありがとうございました。

2005/05/01 22:42:04

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません