簡體   English   中英

PHP將數組傳遞給函數

[英]PHP Passing an Array to a Function

如何將數組傳遞給函數?

假設我有這個多維數組:

$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]);
}

希望您能說出我要做什么,但我不知道如何使它工作。 當我按照自己的方式嘗試時,所有值都是空的

我認為,您需要首先學習如何創建數組;

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

其次,請更改此樣式,請參閱: http : //php.net/manual/zh/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

只需將數組傳入:

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

那應該工作。 不是嗎

如果要更改數組的內容,則需要通過引用傳遞它:

通過引用傳遞參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM