关于' 如何判断PHP数组是否为空 '的这个问题让我想到了这个问题
是否有理由count应该使用而不是empty在确定数组是否为空时?
我个人的想法是,如果2应该使用空数组的情况是等价的,empty因为它给出了布尔问题的布尔答案.从上面链接的问题来看,这似乎count($var) == 0是流行的方法.对我而言,虽然技术上正确,但毫无意义.例如Q:$ var,你是空的吗?答:7.嗯...
有没有理由我应该使用count == 0或仅仅是个人品味的问题?
正如其他人在对现在删除的答案的评论中指出的那样,count对大型数组会有性能影响,因为它必须计算所有元素,而empty一旦知道它不为空就可以停止.那么,如果他们在这种情况下给出相同的结果,但count可能效率低下,为什么我们会使用count($var) == 0?
我正在尝试创建一个包含任意数量子类别的类别列表,其中子类别也可以有自己的子类别.
我从Mysql数据库中选择了所有类别,猫在标准关联数组列表中,每个类别都有一个id,name,parentid,如果它是最高级别,则parentid为0.
我基本上希望能够获取单级别的猫数组并将其转换为多维数组结构,其中每个类别都可以包含一个包含子数组的元素.
现在,我可以通过循环查询每个类别来轻松实现这一点,但这远非理想,我试图在数据库上没有任何额外的命中.
我知道我需要一个递归函数.任何人都可以指出我正确的方向为这种树型结构?
干杯
我在Idiorm中使用PHP和mySQL .这可能不相关.
我的PHP数组
如果需要解决问题,可以更改此阵列结构.
array (
33 =>
array (
0 => '27',
1 => '41',
),
27 =>
array (
0 => '64',
1 => '71',
),
0 =>
array (
0 => '28',
1 => '29',
2 => '33',
),
)
Run Code Online (Sandbox Code Playgroud)
我的分层结果
像这样的东西,但作为一个数组......
0 =>
28
29
33
27 =>
64
71
41
Run Code Online (Sandbox Code Playgroud)
信息
我自己的想法
我尝试了上述两种情况,只是搞得一团糟.这是一个脑子.
arrays ×3
php ×3
recursion ×2
loops ×1
parent-child ×1
performance ×1
semantics ×1
standards ×1
tree ×1