0

別の while ループにネストされた while ループがあります。最初の while で 5 つの要素が得られ、要素ごとに 2 番目の while に移動して 2 つの要素を取得する必要があります。

問題は、関数に 10 個の値すべてを返さなければならないことです。

どうすれば作れますか?

2 つの配列をマージしようとしましたが、うまくいきませんでした。

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

すべての結果を 1 つの配列に入れて返すだけの場合は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 に答える