【问题标题】:How do I get the total quantity of "collections" in my array?如何获取数组中“集合”的总数?
【发布时间】:2019-10-31 17:44:53
【问题描述】:

我有一个包含项目 ID 和数量的数组。数量基本上是一个项目被放置在集合中的次数。所以项目1在集合中出现了十次,项目2在集合中出现了两次,项目9出现了一次。

所以这意味着我有一个完整的集合,因为项目 9 只在其中一次。

$data = [
    1 => 10,
    2 => 2,
    3 => 2,
    4 => 2,
    5 => 2,
    6 => 2,
    7 => 2,
    8 => 2,
    9 => 1
];

下面:我现在有两个集合,因为项目 9 出现了两次。

$data = [
    1 => 10,
    2 => 2,
    3 => 2,
    4 => 2,
    5 => 2,
    6 => 2,
    7 => 2,
    8 => 2,
    9 => 2
];

在下一个实例中,我仍然只有两个集合,因为项目 3 只在其中两次。希望我正在尝试做的事情是有意义的。

$data = [
    1 => 10,
    2 => 5,
    3 => 2,
    4 => 5,
    5 => 8,
    6 => 4,
    7 => 4,
    8 => 5,
    9 => 6
];

数组也不固定为 9 个项目,它可以是任意数量。

这应该是相当简单的,但我已经为此绞尽脑汁了很长时间,但它只是卡住了;我现在离问题太近了。我原本以为我可以将项目总数除以数量,但没有奏效。

如何执行此操作,以便循环遍历数组并查看我有多少完整的集合?

【问题讨论】:

  • 根据您对问题的描述,我们不能简单地获取数组中的最小数字吗?示例:$min = min($data);
  • @KadeM。问题(我相信)是如果其中一项为空,它仍会显示最小的数字,而不是0
  • 但是如果项目是空的,那意味着你有零个收藏,对吧?据我所知,min() 应该为空值返回 0。
  • @KadeM。是的,你明白了。我正在使用 Laravel 的实际集合进行测试,它没有显示 0,而是显示最低的 int,这是错误的。将此作为答案,我会接受。谢谢!
  • 不客气!祝你有美好的一天,蒂姆。

标签: php


【解决方案1】:

根据您对问题的描述,我们不能简单地获取数组中的最小数字吗?示例:

$min = min($data); 

如果是 null/空值,min() 应该返回 0。

【讨论】:

  • 对于其他任何出现的人:我正在使用一个分配了键的数组,这也导致了一个问题并显示了不正确的结果。我不得不删除分配的密钥,然后一切都开始工作了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 2015-04-27
  • 1970-01-01
相关资源
最近更新 更多