猿问

这种数组怎样按指定条件筛选结果?

$allnodes=[
            0 =>['userid' => 10012,'lft' => 4,'rgt' => 5,'rank' => 1],
            1 =>['userid' => 10006,'lft' => 6,'rgt' => 7,'rank' => 2],
            2 =>['userid' => 10011,'lft' => 14,'rgt' => 15,'rank' => 3],
            3 =>['userid' => 10008,'lft' => 16,'rgt' => 19,'rank' => 1],
            4 =>['userid' => 10013,'lft' => 22,'rgt' => 23,'rank' => 1]
          ];

怎么查找出 lft+rgt<=27,对应的结果集。正确结果应该是 0,1 行。

有没有什么高效的算法。我记得在c#里面好像可以把这种形式变成一个虚拟表,可以使用sql语句。直接在内存里面查,不链接数据库。在php里面好像只能遍历出来吗?

foreach 应该很快能计算出来,一行行遍历。有没有那种内置的php数组函数,不用循环就能搞出来。

紫衣仙女
浏览 253回答 1
1回答
随时随地看视频慕课网APP
我要回答