如何从php中的函数内部的循环中获取输出?

时间:2016-05-29 02:14:17

标签: php function

我已经在这个问题上抓了几个小时。我基本上试图从函数内部的循环中获取值,以将其传递给另一个foreach循环以获得所需的结果。它并没有像我打算那样工作。拜托,指出正确的方向。 这是代码:

function ff($s) {

    $project="";
    foreach ($s as $i => $r) {

        $r["friend_one"] == $_SESSION['uname'] ? $friends[] = $r["friend_two"] : $friends[] = $r["friend_one"]; 

        $friend = $friends[$i];
        $totalids=$project->totalids($_SESSION['uname'],$friend);
    }
    return $totalids;
}

$totalid = ff($f);
print_r($totalid);

foreach ($totalid as $v) {

    $id=$v['user_id'];
    //other logic to get desired result      
}

1 个答案:

答案 0 :(得分:0)

与大多数语言一样,PHP return语句会破坏函数,因此在恢复其余代码之前,您的函数只能通过foreach块的一次运行。为了解决这个问题,您可以将输出转储到变量中,然后在foreach块之后返回该变量,而不是:

    return $totalids;
}

使用此:

    array_push($output, $totalids);
}
return $output;