在php中,以递增的顺序对每个数组键应用相同的函数

在php中,以递增的顺序对每个数组键应用相同的函数,php,function,multidimensional-array,Php,Function,Multidimensional Array,我在php中使用一个数组,它在函数的帮助下更新数组中的某些值。这个函数工作得很完美,但我想以递增的顺序将该函数应用于数组中的每个元素 下面是函数名 CalculateDate($swappedarray,$row,$SetupTime); 参数$row是每个数组元素的键号。 我想让函数做这样的事情 CalculateDate($swappedarray,0,$SetupTime); CalculateDate($swappedarray,1,$SetupTime);

我在php中使用一个数组,它在函数的帮助下更新数组中的某些值。这个函数工作得很完美,但我想以递增的顺序将该函数应用于数组中的每个元素

下面是函数名

    CalculateDate($swappedarray,$row,$SetupTime);
参数$row是每个数组元素的键号。 我想让函数做这样的事情

    CalculateDate($swappedarray,0,$SetupTime);
    CalculateDate($swappedarray,1,$SetupTime);
    CalculateDate($swappedarray,2,$SetupTime);
依此类推,直到最后一个键号。 当功能正常工作时。我只是无法使用for循环来执行此操作。“for循环”的代码不起作用,我尝试的代码如下

    for ($row = 0; $row <= $maxnum; $row++)
     {                                          
      CalculateDate($swappedarray,$row,$SetupTime);
     }

for($row=0;$row这能解决您的问题吗?(用“$inputarray”代替起始数组)

基本上,array walk适合为数组中的每个值调用您选择的函数(类似于array_map,只是array_walk更容易将其他参数传递给回调函数)

在这段代码中,我们通过将$swappedarray和$SetupTime放入数组来将它们传递给回调。如果$swappedarray在调用CalculateData时没有更改,则最好执行以下操作以避免重新创建相同的数组:

function some_callback($rowitem, $key, $userdata)
{
    // echo $key;
    CalculateDate($userdata[0], $key, $userdata[1);
}

$walk_arguments = array($swappedarray, $SetupTime);
array_walk($inputarray, 'some_callback', array($swappedarray, $walk_arguments));
让我知道这对你有什么好处


我刚刚在函数参数中传递了数组名作为引用,它成功了。 计算日期(&$swappedarray、$row、$SetupTime)

function some_callback($rowitem, $key, $userdata)
{
    // echo $key;
    CalculateDate($userdata[0], $key, $userdata[1);
}

$walk_arguments = array($swappedarray, $SetupTime);
array_walk($inputarray, 'some_callback', array($swappedarray, $walk_arguments));