2

array_merge ( array $array1 [, array $... ] ) 関数のようなものや単純な関数を作りたいだけですmyfunc($st1, $st2, $st3, $st4, $st5, etc)

function make_my_merge($) {
     ..... operation to be performed ......
}
4

4 に答える 4

4

func_get_args()関数に渡されたすべての引数 (配列として) にアクセスするために使用します。さらに、func_num_args()渡されたすべての引数の数を取得するために使用できます。

function make_my_merge () {
    if ( func_num_args() ) {
        $args = func_get_args();
        echo join( ", ", $args );
    }
}

// Foo, Bar
make_my_merge("Foo", "Bar");

// Foo, Bar, Fizz, Buzz
make_my_merge("Foo", "Bar", "Fizz", "Buzz");

コードパッド: http://codepad.org/Dk7MD18I

于 2012-05-29T16:40:26.373 に答える
0

これは役に立ちます: PHP 関数の変数の引数

于 2012-05-29T16:42:54.893 に答える
0

使用func_get_args():

function make_my_merge() {
  $args = func_get_args();

  foreach ($args as $arg) {
    echo "Arg: $arg\n";
  }

}

ご覧のとおり、関数を介して関数に渡されたすべての引数を取得します。この関数は、渡された各引数を処理するためにfunc_get_args()反復処理できる配列を返します。each

于 2012-05-29T16:41:04.457 に答える
0

必要な引数の数がわからない...したがって、私の意見では、無制限の引数で正確な関数を定義することはできません。しかし、私が提案するのは、関数に2つの引数を渡すことです。1つは配列内のインデックスまたは値の数として、もう1つは配列自体です....次のようになります

<?php
$arr = array('val1','val2','val3',.....);
$count = count($arr);
$result = your_function($count,$arr);
?> 

あなたの関数は、トップまたは他のphpファイルまたはクラスのどこかに行くこのようになります

<?php
function your_function($count,$arr)
{
   //Here you know the number of values you have in array as $count
   //So you can use for loop or others to merge or for other operations
   for($i=0;$i<$count;$i++)
   {
          //Some operation
   }
}
?>
于 2012-05-29T16:48:20.213 に答える