0

私の WordPress サイトの 1 つで、多くの変数を持つ広範なカスタム PHP 関数を作成したいと考えています。そのうちのいくつかは、次のようにオプションとして簡単に使用できます。

<?php    
function customFunction( $variable1, $variable2 = null, $variable3, $variable4 ) {
       if ( !$variable1 == null ) { echo 'something'; } else { echo $variable1; }
       if ( !$variable2 == null ) { echo 'something more'; } else { echo $variable2; }
       if ( !$variable3 == null ) { echo 'something else'; } else { echo $variable3; }
       if ( !$variable4 == null ) { echo 'something other than this'; } else { echo $variable4; }
    return $variable1;
    return $variable2;
    return $variable3;
    return $variable4;
    }
?>

$variable2はオプションであり、デフォルト値が含まれていることに注意してくださいNULL

今、次のような関数を使用すると:

<?php customFunction( '1', '2', '3', '4' ); ?>

次に、関数内の変数のシリアルに従って数値を配置することを理解します。

$variable1 = 1;
$variable2 = 2;
$variable3 = 3;
$variable4 = 4;

しかし、$variable2オプションなので、スキップすると結果はどうなりますか? 私は推測する:

<?php customFunction( '1', '3', '4' ); ?>

$variable1 = 1;
$variable2 = 3;
$variable3 = 4;
### ERROR ###

私は正しいですか?または、事は何か他のものですか?

私が正しければ
、関数を作成したり、必須およびオプションの値で関数をソートしたりする正しい方法は何でしょうか?

4

3 に答える 3

0
  1. パラメータが無効です。非オプションのパラメーターの前にオプションのパラメーターを指定することはできません。

  2. 問題を解決するには、配列をパラメーターとして使用し、その項目を確認することをお勧めします。

于 2013-06-24T09:51:24.493 に答える
0

異なるパラメーターを持つ同様の関数が必要な場合は、オーバーロードを探しています。このリンクを参照してください。

PHPでの関数のオーバーロードとオーバーライドとは?

于 2013-06-24T09:50:36.150 に答える