Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';I don’我不知道如何按照我想要的方式对数组进行排序_Php_Arrays - Fatal编程技术网

Php Can';I don’我不知道如何按照我想要的方式对数组进行排序

Php Can';I don’我不知道如何按照我想要的方式对数组进行排序,php,arrays,Php,Arrays,所以我正在研究一个许可系统。它基本上是一个基于角色的系统。我有一个组表,它与任务表有多对多关系,还有一个权限表将它们联系在一起 数据如下所示(任务表): 我试图做的是允许每个组对每个页面具有特定的权限。但在需要时,可以获得更多的特异性。例如,在论坛页面上,我希望能够控制哪个组可以查看/编辑每个论坛的帖子/删除帖子/等等 这是所有的工作-我的问题是如何显示这些数据,以便它可以分配。这就是我希望它看起来的样子: News -- View -- Edit Forums -- View ---- a

所以我正在研究一个许可系统。它基本上是一个基于角色的系统。我有一个组表,它与任务表有多对多关系,还有一个权限表将它们联系在一起

数据如下所示(任务表):

我试图做的是允许每个组对每个页面具有特定的权限。但在需要时,可以获得更多的特异性。例如,在论坛页面上,我希望能够控制哪个组可以查看/编辑每个论坛的帖子/删除帖子/等等

这是所有的工作-我的问题是如何显示这些数据,以便它可以分配。这就是我希望它看起来的样子:

News
-- View
-- Edit

Forums 
-- View
---- a forum

-- Edit
---- a forum
我就是不知道如何格式化这个数组来实现这一点

Array
(
    [0] => Array
        (
            [task] => view
            [group] => news
            [parent] => 
        )

    [1] => Array
        (
            [task] => edit
            [group] => news
            [parent] => 
        )

    [2] => Array
        (
            [task] => view
            [group] => forums
            [parent] => 
        )

    [3] => Array
        (
            [task] => a forum
            [group] => forums
            [parent] => view
        )
)

对不起,这篇文章让人困惑

好吧,我现在完全重新格式化了我的答案,因为它有点模棱两可,到底是什么不起作用

首先按如下方式重新排列阵列:

while($result = $query->fetch_assoc())
{
    $group = $result['group'];
    foreach($result as $field => $value)
    {       
        $data[$group][$field] = $value;
    }   
}
然后您可以对其进行迭代:

foreach($data as $group) 
{
    echo $group;
    foreach($group as $task => $value) 
    { 
         if($task == 'parent' && $task != '') { $indent = '----';} 
         else {$indent = '--'; }
         echo $indent,$task;
    }
}

所有这些都是我脑海中勾勒出来的,所以我希望它能起作用,这就是你这次想要的。

在我看来,这是最重要的东西。。。这样人们就知道我想做什么,我想用什么来做。最好现在就把它拿开,而不是以后再打进去。也许你误解了我的帖子。我已经有了那个数组结构,我想把它格式化成树状结构,就像我在OP中说的那样。
foreach($data as $group) 
{
    echo $group;
    foreach($group as $task => $value) 
    { 
         if($task == 'parent' && $task != '') { $indent = '----';} 
         else {$indent = '--'; }
         echo $indent,$task;
    }
}