相关疑难解决方法(0)

检查空数组:count vs empty

关于' 如何判断PHP数组是否为空 '的这个问题让我想到了这个问题

是否有理由count应该使用而不是empty在确定数组是否为空时?

我个人的想法是,如果2应该使用空数组的情况是等价的,empty因为它给出了布尔问题的布尔答案.从上面链接的问题来看,这似乎count($var) == 0是流行的方法.对我而言,虽然技术上正确,但毫无意义.例如Q:$ var,你是空的吗?答:7.嗯...

有没有理由我应该使用count == 0或仅仅是个人品味的问题?

正如其他人在对现在删除的答案的评论中指出的那样,count对大型数组会有性能影响,因为它必须计算所有元素,而empty一旦知道它不为空就可以停止.那么,如果他们在这种情况下给出相同的结果,但count可能效率低下,为什么我们会使用count($var) == 0

php arrays performance standards semantics

95
推荐指数
6
解决办法
7万
查看次数

类别和子类别的PHP树结构,不循环查询

我正在尝试创建一个包含任意数量子类别的类别列表,其中子类别也可以有自己的子类别.

我从Mysql数据库中选择了所有类别,猫在标准关联数组列表中,每个类别都有一个id,name,parentid,如果它是最高级别,则parentid为0.

我基本上希望能够获取单级别的猫数组并将其转换为多维数组结构,其中每个类别都可以包含一个包含子数组的元素.

现在,我可以通过循环查询每个类别来轻松实现这一点,但这远非理想,我试图在数据库上没有任何额外的命中.

我知道我需要一个递归函数.任何人都可以指出我正确的方向为这种树型结构?

干杯

php arrays tree recursion multidimensional-array

34
推荐指数
2
解决办法
6万
查看次数

PHP分层数组 - 父母和孩子

我在Idiorm中使用PHP和mySQL .这可能不相关.

我的PHP数组

  • 这是父母和孩子之间的关系.
  • 0是根父级.
  • 示例:根父0具有子33,子33具有子71.

如果需要解决问题,可以更改此阵列结构.

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)

信息

  • 深度是未知的,它可以是无限的.我试过foreach,但可能不是那样.

我自己的想法

  • 一些递归函数?
  • 有些循环?

我尝试了上述两种情况,只是搞得一团糟.这是一个脑子.

php arrays recursion loops parent-child

20
推荐指数
2
解决办法
4万
查看次数