php - 计算数组中特定数字的值并返回出现次数
问题描述
我有一个二维数组,如下所示:
$array1 = array
(
array(1, "Harry", "Male", 30),
array(2, "Troy", "Male", 4),
array(3, "Vicky", "Female", 22),
);
我想返回第四个“列”超过固定数字 10 的次数
例如,我正在追逐以下内容:
MalesUnder10 =
MalesOver10 =
FemalesUnder10 =
MalesOver10 =
谢谢,
解决方案
您可以使用array_filter
来过滤数组。用于count
计算结果
$array1 = array (
array(1, "Harry", "Male", 30),
array(2, "Troy", "Male", 4),
array(3, "Vicky", "Female", 22),
);
$MalesUnder10 = count(array_filter( $array1, function( $o ){
return $o[2] == "Male" && $o[3] < 10;
}));
$MalesOver10 = count(array_filter( $array1, function( $o ){
return $o[2] == "Male" && $o[3] > 10;
}));
$FemalesUnder10 = count(array_filter( $array1, function( $o ){
return $o[2] == "Female" && $o[3] < 10;
}));
$FemalesOver10 = count(array_filter( $array1, function( $o ){
return $o[2] == "Female" && $o[3] > 10;
}));
这将导致:
$MalesUnder10 = 1
$MalesOver10 = 1
$FemalesUnder10 = 0
$FemalesOver10 = 1
注意: 10 岁的人不计算逻辑。您可以通过$o[3] => 10
或$o[3] =< 10
这是一个现场演示。感谢尼克
推荐阅读
- ruby-on-rails - 创建对象后用父类扩展类
- graphql - 如何根据 GraphQL (NestJS) 中的条件发送不同的订阅响应?
- android - 如何从 Main Activity 到 Fragment,并从同一个 Fragment 返回到 Main Activity?
- firebase - (Flutter/Dart)从 Firebase 存储中检索,同时从 Firebase Firestore 中检索,异步中的异步
- logging - 使用 log4rs 将每个主机变量附加到 Rust 中的所有日志消息
- javascript - 如何在 Javascript 中循环访问来自 API 的数据?
- java - 有没有办法使用 JsonPath 动态地部分复制 Json?
- go - 从结构中删除字段,转换结构
- python - 如何每周在 Altair 中用刻度标记日期轴?
- android - 通过防火墙启用 IP 地址后 WebApi 错误