php - 在php中计算数组中具有相同名称的元素
问题描述
所以我有这个数组:
我不知道是否清楚,但是这个数组中有很多同名的元素,我想计算这些元素并显示它,这就是我创建数组的方式:
foreach ($rowa as $rowsa)
{
$sql = "SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FB_AFGESLOTEN = 'F' AND FB_AKTIEF = 'T' AND FI_AFVOERKANAAL = 1 AND FI_RAYONID = $rowsa AND FI_VERRIJKINGID < 1;";
$sfh = $dbh->prepare($sql);
$sfh->execute();
$row = $sfh->fetchAll(PDO::FETCH_COLUMN, 0);
array_push($row, $rows['FC_RAYON']);
print_r($row);
}
我已经尝试过这个:
这个anwser似乎对我不起作用,但也许我做错了什么。
顺便说一句 $rows['FC_RAYON'] 来自另一个查询,它与这个问题无关,但如果你想看到它,我会编辑我的帖子以显示它。
那我必须这样做吗?能否请你帮忙。
编辑
更好地查看数组:
Array ( [0] => 2 [1] => RT-SCB-PB01 )
Array ( [0] => 0 [1] => RT-SCB-PB01 )
Array ( [0] => 3 [1] => RT-SCB-PB01 )
Array ( [0] => 1 [1] => ASDC-PBSN )
Array ( [0] => 0 [1] => ASDC-PBSN )
Array ( [0] => 0 [1] => ASDC-PBSN )
Array ( [0] => 0 [1] => ASDC-PBSN )
Array ( [0] => 1 [1] => ASDW-PBSN )
这是数组的一小部分。
编辑 2
Array
(
[0] => 2
[1] => RT-SCB-PB01
)
Array
(
[0] => 2
[1] => RT-SCB-PB01
)
Array
(
[0] => 1
[1] => RT-SCB-PB01
)
Array
(
[0] => 3
[1] => RT-SCB-PB01
)
Array
(
[0] => 2
[1] => ASDC-PBSN
)
Array
(
[0] => 2
[1] => ASDC-PBSN
)
Array
(
[0] => 1
[1] => ASDC-PBSN
)
Array
(
[0] => 1
[1] => ASDW-PBSN
)
Array
(
[0] => 0
[1] => ASDW-PBSN
)
Array
(
[0] => 0
[1] => ASDW-PBSN
)
所以这是对数组的更好看,数组中的数据是不同的,因为它是一个非常活跃的数据库
编辑 3
如果您有兴趣,这是我的全部结果,您可以在这里看到:
https://mega.nz/#!uvpBWSoL!V6xYCuJ5mCWwiYqnoaz6LiYynioCylWDxPYioV_9qpo 用油漆打开
解决方案
array_count_values() 返回一个数组,使用数组的值作为键,它们在数组中的频率作为值。
$varArray = array(); // take a one empty array
foreach ($rowa as $rowsa)
{
$sql = "SELECT count(*) as NUMBER FROM BANDZENDINGEN WHERE FB_AFGESLOTEN = 'F' AND FB_AKTIEF = 'T' AND FI_AFVOERKANAAL = 1 AND FI_RAYONID = $rowsa AND FI_VERRIJKINGID < 1;";
$sfh = $dbh->prepare($sql);
$sfh->execute();
$row = $sfh->fetchAll(PDO::FETCH_COLUMN, 0);
array_push($row, $rows['FC_RAYON']);
//print_r($row);
//array_push($varArray,$rows['FC_RAYON']); // Also May I think $rows['FC_RAYON'] is give value like RT-SCB-PB01,ASDC-PBSN etc.
array_push($varArray,$row[1]); // I have push the send value of array like RT-SCB-PB01,ASDC-PBSN etc. and make in single array.
}
$dupArrays = array_count_values($varArray); // It will return Counts all the values of an array
echo 'Total No Items: '.count($dupArrays).'<br><br>';
echo "<pre>";
print_r($dupArrays);
echo "</pre>";
输出将是:
Total No Items: 3
Array
(
[RT-SCB-PB01] => 3 // Count of duplicate value of RT-SCB-PB01 is 3
[ASDC-PBSN] => 4 // Count of duplicate value of ASDC-PBSN is 3
[ASDW-PBSN] => 1 // Count of duplicate value of ASDW-PBSN is 3
)
使用 foreach 方法获取
foreach($dupArrays as $key => $value){
echo $key.' Count '.$value.' times.';
echo "<br>";
}
输出:
RT-SCB-PB01 Count 3 times.
ASDC-PBSN Count 4 times.
ASDW-PBSN Count 1 times.
推荐阅读
- android - React native FAILURE:构建失败并出现异常。安卓
- javascript - 如何安装 Spidermonkey JS SHell
- python - 如何使用 Lambert Conformal 投影显示 Cartopy 网格线标签?
- python - Sympy 单位 - 前缀转换
- python - Django中顶级模块和子模块在使用时有什么区别-“python manage.py startapp polls”
- huggingface-transformers - 如何使用 Huggingface 预训练模型来获取用于训练模型的数据集的输出?
- cypress - 赛普拉斯 API 请求 - 不是函数的错误
- javascript - 在 React 应用程序的窗口中使用 Redux 默认存储
- python - 使用存储在谷歌驱动器中的 zip 文件
- css - 在浏览器中查看时,HTML 未应用 CSS