1

配列を関数に渡すにはどうすればよいですか?

この多次元配列があるとしましょう:

$TheArray = (
array("Value 1 0","Value 1 1","Value 1 2"),
array("Value 2 0","Value 2 1","Value 2 2"),
array("Value 3 0","Value 3 1","Value 3 2")
);

これを行う代わりに...

for ($i=0; $i<=(count($TheArray)-1); $i++)
{
echo $TheArray[$i][0] . " " . $TheArray[$i][1] . " " . $TheArray[$i][2] . "<br />";
}

私はこれをしたい...

function DoStuffWithTheArray($SubArr)
{
echo $SubArr[0] . " " . $SubArr[1] . " " . $SubArr[2] . "<br />";
}

for ($i=0; $i<=(count($TheArray)-1); $i++)
{
DoStuffWithTheArray($TheArray[$i]);
}

うまくいけば、私が何をしようとしているのかわかると思いますが、それを機能させる方法がわかりません。私が望むように試してみると、すべての値が空です

4

3 に答える 3

1

まず、配列を作成する方法を学ぶ必要があると思います。

// instead of this
$TheArray = (...
// you can create an array so
$TheArray = array(...

次に、このスタイルを変更してください:http: //php.net/manual/en/control-structures.foreach.php

for ($i = 0; $i < count($TheArray); $i++)

そして答えてください。

$array = array(
    array("Value 1 0", "Value 1 1", "Value 1 2"),
    array("Value 2 0", "Value 2 1", "Value 2 2"),
    array("Value 3 0", "Value 3 1", "Value 3 2")
);

function fn($a) {
    print "$a[0], $a[1], $a[1]\n";
}

foreach ($array as $a) fn($a);
値10、値1 1、値1 1
値20、値2 1、値2 1
値30、値3 1、値3 1
于 2013-02-01T03:08:51.307 に答える
0

配列を渡すだけです:

function DoStuffWithTheArray($array) {
    $array[0]...$array[n];
}

それはうまくいくはずです。そうじゃない?

于 2013-02-01T02:43:04.140 に答える
0

配列の内容を変更したい場合は、参照渡しする必要があります。

参照渡しの引数

于 2013-02-01T03:22:33.673 に答える