从两个嵌套循环返回值

时间:2012-12-21 21:43:06

标签: php loops

我有一个while循环嵌套在另一个while循环中。第一次将给我5个元素,对于每个元素,我必须转到第二个元素并获得2个元素。

问题是我必须将所有10个值都返回给函数。

我该怎么做?

我尝试合并两个数组,但它没有用。

function ShowCustomers()
{
    while($row2 = mysql_fetch_array($result2))
    {
        while($row3 = mysql_fetch_array($result3))
        {
            $res = array($row2['f_name'], $row3['name'], $row3['s_name']);
            $res1 = array_merge($res1,$res);
        }
    }
    return $res1;
}

2 个答案:

答案 0 :(得分:2)

如果您要做的只是将所有结果放入一个数组并将其返回,您可以使用array_push()或简写:$your_array[] = ...

function ShowCustomers()
{
    $result_array = array();
    while($row2 = mysql_fetch_array($result2))
    {
        while($row3 = mysql_fetch_array($result3))
        {
            $res = array($row2['f_name'], $row3['name'], $row3['s_name']);
            $result_array[] = $res;
        }
    }
    return $result_array;
}

答案 1 :(得分:1)

您需要在循环范围之外声明$ res1,以便在每次迭代后保持其值:

function ShowCustomers()
{
    $res1 = array();
    while($row2 = mysql_fetch_array($result2))
    {
        while($row3 = mysql_fetch_array($result3))
        {
            $res = array($row2['f_name'], $row3['name'], $row3['s_name']);
            $res1 = array_merge($res1,$res);
        }
    }
    return $res1;
}
相关问题