【发布时间】:2020-08-22 05:13:34
【问题描述】:
我确信这很简单,但我只是未能正确地为 google 措辞。希望我能在这里把它拼写得足够好,有人能指出我正确的方向!
我正在使用 php 和 chart.js 绘制关于 mma 战士的统计数据,我想绘制他们每年获得的胜利(或失败或 ko 等)的数量。。 p>
我已经能够创建一个数组来显示每次损失的年份(请注意,一年中有多次损失发生重复)
例如
$loss_years = Array ( [0] => 2019 [1] => 2016 [2] => 2014 [3] => 2013 [4] => 2012 [5] => 2011 [6] => `2011 [7] => 2010 [8] => 2009 [9] => 2009 [10] => 2006 [11] => 2005 )`
我已经能够计算出每年发生多少损失,损失确实像这样发生:
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 交叉引用它并输出第三个数组 $losses_per_year 看起来像:
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 )
这有意义吗?
是否有一些我没有找到的更简单的方法?
【问题讨论】:
-
您只需要使用
for each循环遍历数组,每次值等于您要查找的值时增加计数器。
标签: php