人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: nakeyouguisu
●カテゴリ:ウェブ制作
✍キーワード:PHP print 引数 関数
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● GEN111
●20ポイント

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

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

}


上記のようにすれば

test_func(500)

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

◎質問者からの返答

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


2 ● html1983
●20ポイント

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

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

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

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

//省略

}


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

◎質問者からの返答

ありがとうございます。


3 ● margherita
●20ポイント

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

です。

◎質問者からの返答

なるほど


4 ● english
●20ポイント

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

<?php

test_func(500);


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

if($iwidth!= ””){

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

} else {

print ”<HR size =$isize>”;

}

}

?>

でOKかと思います。

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ