0

PHPに「String...stringArray」に相当するものがあるかどうか疑問に思いました。これは、「stringArray」パラメータに基づいて配列を構築できるものです。

Java:

public void method1(){
    int aNumber = 4;
    String string1 = "first string";
    String string2 = "second string";
    String string3 = "third string";

    processStrings(aNumber, string1, string2, string3);
    /*
       string1, string2 and string3 will become b = {string1, string2, string3}
       in function "processStrings"
    */
}

public void processStrings(int a, String...b){
    System.out.println(b[0]); //in this case it will print out "first string"
    System.out.println(b[1]); //in this case it will print out "second string"
    System.out.println(b[2]); //in this case it will print out "third string"
}

PHPで同じことをする方法はありますか?

私は私が使用できることを知っています

function processStrings($a, $b){}

そしてそれをこのように呼びます

function method1(){
    $myInt = 4;
    $strings = array("first string","second string","third string");
    processStrings($myInt, $strings);
}

しかし、Javaで行うように、未定義の数のパラメーターを渡す方法があるかどうかを知りたいです。

4

1 に答える 1

0

PHPマニュアルから:func_get_args()

<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs<br />\n";
    if ($numargs >= 2) {
        echo "Second argument is: " . func_get_arg(1) . "<br />\n";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
    }
}

foo(1, 2, 3);
?>

あなたはそれを行うことができますが、定義された引数のいずれかが省略されると非常に混乱するため、関数で引数を定義しないことを提案します。

于 2013-03-16T16:17:52.233 に答える