Php 计算一个数组中的数字在另一个数组中出现的次数

Php 计算一个数组中的数字在另一个数组中出现的次数,php,Php,我相信这很简单,我只是无法正确地为谷歌表达。希望我能在这里解释清楚,有人能给我指出正确的方向 我正在使用php和chart.js来绘制mma战士的统计数据,我想绘制他们每年的赢(或输或ko等)数 我已经能够创建一个数组来显示每次损失的年份(请注意,在一年中发生了多次损失的情况下,该数组会重复出现) e、 g 我已经能够计算出每年有多少损失发生,这些损失是这样发生的: array_count_values(array_reverse ($loss_years))); 哪些产出: array(10

我相信这很简单,我只是无法正确地为谷歌表达。希望我能在这里解释清楚,有人能给我指出正确的方向

我正在使用php和chart.js来绘制mma战士的统计数据,我想绘制他们每年的赢(或输或ko等)数

我已经能够创建一个数组来显示每次损失的年份(请注意,在一年中发生了多次损失的情况下,该数组会重复出现)

e、 g

我已经能够计算出每年有多少损失发生,这些损失是这样发生的:

array_count_values(array_reverse ($loss_years)));
哪些产出:

array(10) { ["2005 "]=> int(1) ["2006 "]=> int(1) ["2009 "]=> int(2) ["2010 "]=> int(1) ["2011 "]=> int(2) ["2012 "]=> int(1) ["2013 "]=> int(1) ["2014 "]=> int(1) ["2016 "]=> int(1) ["2019 "]=> int(1) }
然而,我希望能够将其与他们职业生涯的每一年进行交叉引用

因此,如果他们的职业跨度表示为:

$career_span = Array ( [0] => 2004 [1] => 2005 [2] => 2006 [3] => 2007 [4] => 2008 [5] => 2009 [6] => 2010 [7] => 2011 [8] => 2012 [9] => 2013 [10] => 2014 [11] => 2015 [12] => 2016 [13] => 2017 [14] => 2018 [15] => 2019 [16] => 2020 )
然后我想将其与$loss_years交叉引用,并输出第三个数组$loss_per_years,看起来像:

Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 0 [4] => 0 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 1 [11] => 0 [12] => 1 [13] => 0 [14] => 0 [15] => 1 [16] => 0 )
这有意义吗


有没有我没有找到的更简单的方法?

使用
foreach
循环遍历
$career\u span
数组,并检查
$loss\u years
数组中每个职业年的损失数(对其应用
数组计数值后)

您可以使用检查
$loss\u years
中是否有与职业年份匹配的数组键。如果有,请添加该年度的损失数。如果没有,请添加零

$loss_years = array_count_values( $loss_years );
foreach ( $career_span as $career_year ) {
    $losses_per_year[] = array_key_exists( $career_year, $loss_years ) ? $loss_years[$career_year] : 0;
}

您只需对每个
循环使用一个
遍历数组,每次值等于您要查找的值时都增加计数器。没问题。如果您可以向上投票,您将完成我的周末。;)!我没有意识到投票权在这里是一件事!谢谢。:)
$loss_years = array_count_values( $loss_years );
foreach ( $career_span as $career_year ) {
    $losses_per_year[] = array_key_exists( $career_year, $loss_years ) ? $loss_years[$career_year] : 0;
}