• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

菜单与数据库上的PHP填充

php 来源:Fernando Andrade 3次浏览

所以我建立一个菜单到一个站点,蚂蚁菜单将通过数据库来填充,当我查询数据库,我得到这样的数组:菜单与数据库上的PHP填充

阵:

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [nome] => Home 
      [parent_id] => 0 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [nome] => Tutorials 
      [parent_id] => 0 
     ) 

    [2] => Array 
     (
      [id] => 3 
      [nome] => Photoshop 
      [parent_id] => 2 
     ) 

    [3] => Array 
     (
      [id] => 4 
      [nome] => Illustrato 
      [parent_id] => 2 
     ) 

    [4] => Array 
     (
      [id] => 5 
      [nome] => Web Design 
      [parent_id] => 2 
     ) 

    [5] => Array 
     (
      [id] => 6 
      [nome] => HTML 
      [parent_id] => 5 
     ) 

    [6] => Array 
     (
      [id] => 7 
      [nome] => CSS 
      [parent_id] => 5 
     ) 

) 

我想搜索,并得到刚子项,例如:

function getChild($needle){ 
    ... 
    return $array 
} 

其中$阵列,是孩子们的信息:

print_r(getChild(2)); 

将输出是这样的:

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

在这个例子中

它返回的ID,但它可能与项目的每一个完整的信息返回数组…

我可以再次查询数据库并获得相同的结果,但恐怕这不是一个好的做法。例如,如果我有一个巨大的菜单,脚本会查询太多的数据库,并且会减慢页面的渲染速度。

我分层搜索这样的方式我已经头晕,疲惫的…

我意识到,在这个例子中,我没有任何的联系,但它很容易添加它们到底,这是我为什么不跟他们合作现在:P

===========解决方案如下:

它可能看起来像这样(假设我理解正确您的问题):

function getChild($needle, $sourceArray) 
{ 
    $ret = array(); 
    for($i = $needle; $i < $sourceArray.count(); $i++) 
    { 
     array_push($ret, $sourceArray[ $i ][ 'id ' ]) ; 
    } 

    return $ret; 
} 

编辑:功能不长度( ) – 这是计数()


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)