【问题标题】:How can I count the occurrence of a key based on array value [duplicate]如何根据数组值计算键的出现次数[重复]
【发布时间】:2017-10-19 07:57:58
【问题描述】:

我有这个数组

[furnitures] => Array
(
    [0] => Array
    (
        [fi_id] => 8
        [price] => 15.00
    )
    [1] => Array
    (
        [fi_id] => 8
        [price] => 15.00
    )
    [2] => Array
    (
        [fi_id] => 7
        [price] => 15.00
    )
    [3] => Array
    (
        [fi_id] => 7
        [price] => 15.00
    )
    [4] => Array
    (
        [fi_id] => 8
        [price] => 15.00
    )
    [5] => Array
    (
        [fi_id] => 9
        [price] => 15.00
    )
)

我想从中获得唯一的 fi_id,并且我还想从中计算出现次数。这被重复了多少次。 PHP 有内置函数吗?

像独特的项目是 7,8,9,7 重复 2 次,8 重复 3 次,9 重复 1 次。

【问题讨论】:

  • 你尝试了什么?
  • 我尝试使用“array_count_values”,但它适用于二维简单数组。如果值也在数组中,则不是。
  • 嗨,我无法回答这个问题,我在这里粘贴可能有用
  • $fid=[]; foreach ($array['furnitures'] as $key => $value) { $fid[$value['fi_id']]=$value; }

标签: php arrays


【解决方案1】:

你可以试试这个:

//Here you get unique Ids
$uniqueFiIdList = array_unique(array_map(function ($el) 
{ 
   return $el['fi_id']; 
}, $furnitures));

//Here you get the total unique occurences
$totalUniqueFiId = count($furnitures) - count($uniqueFiIdList);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多