0
我努力實現以下目標:PHP嵌套陣列,而內部while循環
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] =>數組[3] =>數組[2] =>數組)' – De7ilx
我編輯,可以再次嘗試;我還改變了'$ data [$ rows ['role_id']]。= $ data2;'到'$ data [$ rows ['role_id']] = $ data2;' – mertizci
謝謝!它實際上有效! – De7ilx