首页 > 解决方案 > 如何计算数组 PHP 中的出现次数?

问题描述

我用 PHP、MySQL 和 CodeIgniter 创建了一个简单的 Web 应用程序。该应用程序用于订购衣服,用户可以下新订单或查看他的旧订单。当他查看他的订单时,我会在屏幕上打印他/她订购的衣服数量。现在我想要打印根据颜色订购的衣服,例如,如果用户订购了 3 件黑色 T 恤,2 件绿色和 1 件红色,我想在屏幕上打印它们。我已经为订单的每个产品管理在表格中传递颜色信息。

如果用户按此顺序添加他想要购买的产品(黑色、绿色、绿色、黑色、红色、黑色),那么数组将如下所示:

$color= array("black","green","green","black","red","black")

现在我想要的是计算每种颜色在数组中的次数,并将该信息传递到一个新数组中以便打印它。提前致谢,如果我的问题违反了社区规则,我们深表歉意。

标签: phpmysqlarrayscountecho

解决方案


您可以使用array_count_values()。它计算一个数组的所有值,并array使用数组的值keys和它们在数组中的频率作为值返回一个。

$result = array_count_values($color);

它为您提供以下结果:

Array
(
    [black] => 3
    [green] => 2
    [red] => 1
)

现场演示


推荐阅读