PHPエラー対処方法「 Warning: Missing argument 1 for」

php_Missing_argument
PHPにおけるPHP Warning: Missing argument 1 for… というエラーの原因と対処方法メモです。
結論から言うと定義された引数と、呼び出す引数が異なりますよーというエラーですね。
さて、どういう事か確認してみましょう。

SPONSORED LINK

警告:引数が欠落しています

例えば以下のようなユーザー定義関数を作った場合を想定してみましょう。

function f_name ($x, $y) {
 echo $x . "ok";
 echo $y . "ok";
}

そしてそのf_name関数を呼び出す際に引数を間違えて指定したとします。

f_name($y);

このように引数の数が合致しない場合に起こるエラーですね。

ちなみに上記の場合で正しい呼び出し方法となるのは以下です。

name($x,$y);

このように引数がマッチすることが正しいわけです。

初期値を指定する

関数内で複雑な処理が行われる時など、

function name($x){
 if($y){
  処理1
 }else{
  処理2
 }
}

処理の状態によっては「Missing argument」の原因になります。
これは引数が初期値すら想定していないことにあります。

ということは初期値を空で指定しておけばいいわけですね。

function name($x = null){
 if($y){
  処理1
 }else{
  処理2
 }
}

といった初期値が理想的です。

頭を柔らかくパズルのようにプログラムが組めるようになればPHPのおもしろさも増しますよ。

まとめ

PHPを普段から馴れているつもりでもちょっとしたミスでエラーが出てしまうことがよくあります。
プログラムの設計では、初期値の考え方を念頭に置いたり、あらゆるケースを想定してエラー処理を組み込むことも重要ですね。

今日も知識欲は止まらない。

SPONSORED LINK
トップへ戻る