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);
值 1 0,值 1 1,值 1 1
值 2 0,值 2 1,值 2 1
值 3 0,值 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 回答