如何将数组传递给函数?
假设我有这个多维数组:
$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]);
}
希望你能告诉我我想做什么,但我不知道如何让它发挥作用。当我按照我想要的方式尝试时,所有值都是空的
答案 0 :(得分: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);
Value 1 0, Value 1 1, Value 1 1 Value 2 0, Value 2 1, Value 2 1 Value 3 0, Value 3 1, Value 3 1
答案 1 :(得分:0)
只需传递数组:
function DoStuffWithTheArray($array) {
$array[0]...$array[n];
}
那应该有用。不是吗?
答案 2 :(得分:0)
如果要更改数组的内容,则需要通过引用传递它: