php - 计算结果数组中的字符串数
问题描述
如何使用 PHP 计算具有值“SI”的“rep_onoff”的数量,由如下数组产生?
Array (
[0] => Array (
[0] => NO [rep_onoff] => NO )
[1] => Array ( [0] => SI [rep_onoff] => SI
[2] => Array ( [0] => SI [rep_onoff] => SI )
[3] => Array ( [0] => SI [rep_onoff] => SI )
[4] => )
问候
解决方案
您似乎有重复的数据,假设您可以将数组转换为如下所示:
array(
[0]=>'SI',
[1]=>'SI',
[2]=>'NO',
[3]=>'SI',
[4]=>'SI',
);
解决方案 1:您可以使用array_count_values()
.
$array = array([0]=>'SI', [1]=>'SI', [2]=>'NO', [3]=>'SI', [4]=>'SI',);
print_r(array_count_values($array));
这将输出如下内容:
Array
(
[SI] => 4
[NO] => 1
)
https://www.php.net/manual/en/function.array-count-values.php
解决方案2:
如果您无法更改数据,则可以使用array_map()
.
function array_count_values_rep($arr)
{
return $arr['rep_onoff'];
}
$arr = array(
array(
0 => 'NO',
'rep_onoff' => 'NO',
),
array(
0 => 'SI',
'rep_onoff' => 'SI',
),
array(
0 => 'SI',
'rep_onoff' => 'SI',
),
array(
0 => 'SI',
'rep_onoff' => 'SI',
),
array(
0 => 'NO',
'rep_onoff' => 'NO',
),
array(
0 => 'SI',
'rep_onoff' => 'SI',
),
array(
0 => 'SI',
'rep_onoff' => 'SI',
),
);
$result = array_map('array_count_values_rep', $arr);
print_r(array_count_values($result));
这将输出:
Array ( [NO] => 2 [SI] => 5 )
推荐阅读
- python - 如何在python中使用isdigite进行浮点数
- three.js - 对象在屏幕上保持相同大小,无论其与相机的距离如何
- xml - 元素内元素的 DTD
- python-3.x - 在 Windows 上安装 Pipenv
- macos - 有没有比文件或 mdls 更快的方法在命令行中获取 MacOS X 上的文件类型
- amazon-s3 - 从 S3 复制文件时出现 AWS CodeBuild 错误 - COMMAND_EXECUTION_ERROR:原因:退出状态 1 (NodeJS)
- java - Minecraft Forge - Loop 不断覆盖自己
- python-3.x - 嘿,我正在尝试使用 selenium 在 python 中自动化某些东西,但我似乎无法单击按钮。下面附上截图
- assembly - 这条线到底是什么意思?
- linux - 基于设备树中两个独立节点的两个 Linux 内核驱动程序实例之间的通信