如何通过php函数推送数组值?

如何通过php函数推送数组值?,php,arrays,function,Php,Arrays,Function,我有一个空数组,我正试图通过一个简单的php函数将值推送到该数组。问题是在每次迭代中,值都没有被保留。以下是一个例子: function addColors($arrayValues, $arrayToUpdate){ $arrayToUpdate[]=$arrayValues; } $colors = array(); $newColors= array("red", "blue", "yellow"); foreach($newColors as $newColor){

我有一个空数组,我正试图通过一个简单的php函数将值推送到该数组。问题是在每次迭代中,值都没有被保留。以下是一个例子:

function addColors($arrayValues, $arrayToUpdate){
    $arrayToUpdate[]=$arrayValues;
}

$colors = array();
$newColors= array("red", "blue", "yellow");

foreach($newColors as $newColor){
    addColors($newColor, $colors);
}

echo "<pre>".print_r($colors, true)."</pre>";
函数addColors($ArrayValue,$arrayToUpdate){
$arrayToUpdate[]=$arrayValues;
}
$colors=array();
$newColors=数组(“红色”、“蓝色”、“黄色”);
foreach($newColors作为$newColor){
addColors($newColor,$colors);
}
回显“.print_r($colors,true)”;

这将只打印一个空数组。而我希望看到的是添加到
$colors
数组中的值。有什么建议吗?

您需要返回新数组并在循环中分配返回的数组:

function addColors($arrayValues, &$arrayToUpdate){
    $arrayToUpdate[]=$arrayValues;
}

foreach($newColors as $newColor){
    addColors($newColor, $colors);
}
或者按照您现有的方式执行,将需要更新的变量作为引用传递;请注意
。这是我的建议:

foreach($newColors as $newColor){
    $colors[] = $newColor;
}
虽然在这个简单的示例中,我不会使用函数:

array_push($colors, $newColor);
此外,已经有一个函数可以执行此操作,尽管参数的顺序不同:

$colors = array_merge($colors, $newColors);
如果没有循环,则更简单:

function addColors($arrayValues, &$arrayToUpdate){
    $arrayToUpdate[]=$arrayValues;
}

foreach($newColors as $newColor){
    addColors($newColor, $colors);
}

您需要返回新数组并在循环中分配返回的数组:

function addColors($arrayValues, &$arrayToUpdate){
    $arrayToUpdate[]=$arrayValues;
}

foreach($newColors as $newColor){
    addColors($newColor, $colors);
}
或者按照您现有的方式执行,将需要更新的变量作为引用传递;请注意
。这是我的建议:

foreach($newColors as $newColor){
    $colors[] = $newColor;
}
虽然在这个简单的示例中,我不会使用函数:

array_push($colors, $newColor);
此外,已经有一个函数可以执行此操作,尽管参数的顺序不同:

$colors = array_merge($colors, $newColors);
如果没有循环,则更简单:

function addColors($arrayValues, &$arrayToUpdate){
    $arrayToUpdate[]=$arrayValues;
}

foreach($newColors as $newColor){
    addColors($newColor, $colors);
}

在函数定义中添加&code>$arrayToUpdate
$newColor
,以将其作为引用。不太清楚您的意思,但您可能只需要通过引用传递数组
function addColors($arrayValues,&$arrayToUpdate){
Add&to
$arrayToUpdate
$newColor
在函数定义中保留它作为引用。不太清楚您的意思,但也许您只需要通过引用传递数组?
function addColors($arrayValues,&$arrayToUpdate){
太棒了!谢谢,我会在11分钟内获奖。太棒了!谢谢,我会在11分钟内获奖。