0

我有一个 while 循环嵌套在另一个 while 循环中。第一个 while 会给我 5 个元素,对于每个元素,我必须去第二个 while 并获得 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;
}
4

2 回答 2

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;
}
于 2012-12-21T21:50:21.230 回答
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;
}
于 2012-12-21T21:52:40.443 回答