PHP嵌套数组while while while循环

时间:2016-04-10 12:45:25

标签: php arrays mysqli while-loop nested

我正在努力实现以下目标:

Array (
    [1] => Array (
        [0] => 1
        [1] => 2
    )
    [3] => Array (
        [0] => 5
    )
    [2] => Array (
        [0] => 3
    )
)

这是我目前的代码:

function create_role_node_array()
{
    if($_SESSION['userid'])
    {
        $query1 = "SELECT * FROM auth_user_role_relation_list WHERE user_id='".$_SESSION['userid']."' ORDER BY creation_time ASC";
        $result1 = mysqli_query($GLOBALS['c'], $query1);
        $rows='';
        $data=array();
        if(!empty($result1))
            $rows=mysqli_num_rows($result1);
        else
            $rows='';
        if(!empty($rows))
        {
            while($rows=mysqli_fetch_assoc($result1))
            {
                $query2 = "SELECT * FROM auth_node_role_relation_list WHERE role_id='".$rows['role_id']."' ORDER BY group_id ASC, creation_time ASC";
                $result2 = mysqli_query($GLOBALS['c'], $query2);
                $rows2='';
                $data2=array();
                if(!empty($result2))
                    $rows2=mysqli_num_rows($result2);
                else
                    $rows2='';
                if(!empty($rows2))
                {
                    while($rows2=mysqli_fetch_assoc($result2))
                    {
                        $data2[0].=$rows2['node_id'];
                    }
                }
                $data[$rows['role_id']].=$data2[0];
            }
            return $data;
        }
    }
}
print_r(create_role_node_array());

我目前得到的结果:

Array ( [1] => 12 [3] => 5 [2] => 3 )

第一个数组部分中的12个实际上是两个彼此相邻的独立结果。

我在这里检查了其他主题,但没有一个可以应用于我的案例。谁能在这里知道解决方案?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

试试这个;

/usr/local/bin/python