递增返回循环中的整数

时间:2016-12-20 09:48:50

标签: php function loops foreach increment

如何从函数getLast()中获取返回的$ i并在foreach中递增它?

protected function getLast($array = [])
{
    foreach($array as $file)
    {
        $getLast[] = substr($file, -5, 1);
    }

    $i = (int)$getLast[0];

    return $i;
}

protected function foo()
{
    $this->getLast($gl);
    foreach($array as $img)
    {
        # ...
        $i++;
    }
}

3 个答案:

答案 0 :(得分:0)

您可以使用reference获取变量$ i的值

代码:

protected function getLast($array = [], &$i)
{
    foreach($array as $file)
    {
        $getLast[] = substr($file, -5, 1);
    }

    $i = (int)$getLast[0];
}

protected function foo()
{
    $i = 0;
    $this->getLast($gl, $i);
    foreach($array as $img)
    {
        # ...
        $i++;
    }
}

在你的情况$i = $this->getLast($gl);

答案 1 :(得分:0)

您应该将函数的结果分配给新变量。

protected function foo()
{
    $i = $this->getLast($gl);
    foreach($array as $img)
    {
        # ...
        $i++;
    }
}

但这不是同一个$i,它将是另一个变量。我想你需要一个值,而不是对变量的引用。

答案 2 :(得分:0)

你的函数返回一个值 - 这是你的i。因此,您只需要在函数出现时确定其返回值。

$i = $this->getLast($gl);