php - 使用数组根据字符串 % 更改颜色块
问题描述
我有价值观:1,5,7,2,25,2,6
我想给所有价值观一个与颜色相关的特定百分比。
所以最高值为25
-100%。最低值为1
- 10%。
有了这些数字,我想检查其他数字 %,但我想用 10 种其他颜色做同样的事情:
.100 {
color: rgb(30, 144, 255);
}
.90 {
color: rgba(30, 144, 255, 0.9);
}
.80 {
color: rgba(30, 144, 255, 0.8);
}
.70 {
color: rgba(30, 144, 255, 0.7);
}
.60 {
color: rgba(30, 144, 255, 0.6);
}
.50 {
color: rgba(30, 144, 255, 0.5);
}
.40 {
color: rgba(30, 144, 255, 0.4);
}
.30 {
color: rgba(30, 144, 255, 0.3);
}
.20 {
color: rgba(30, 144, 255, 0.2);
}
.10 {
color: rgba(30, 144, 255, 0.1);
}
到目前为止我尝试过:
$a_c_a = '1,5,7,2,25,2,6';
$a_c_a_min = min(array_filter($a_c_s));
$a_c_a_max = max(array_filter($a_c_s));
$a_c_a_min_10 = $a_c_a_min;
$a_c_a_max_100 = $a_c_a_max;
if (1 == $a_c_a_max) {
$class_2 = '.100';
} elseif (1 == $a_c_a_min) {
$class_2 = '.10';
}
if (5 == $a_c_a_max) {
$class_3 = '.100';
} elseif (5 == $a_c_a_min) {
$class_3 = '.10';
}
if (7 == $a_c_a_max) {
$class_4 = '.100';
} elseif (7 == $a_c_a_min) {
$class_4 = '.10';
}
[...] up to number 6
输出应该是:
$class_1 = '.50'; (1)
$class_2 = '.70'; (5)
$class_3 = '.90'; (7)
$class_4 = '.60'; (2)
$class_5 = '.100'; (25)
$class_6 = '.60'; (2)
$class_7 = '.80'; (6)
注意:如果值将是1,2,1,1,3
那么我想使用.100
和.90
-.80
从最高。
解决方案
首先用于array_unique()
获取数组的所有不同值,并对sort()
它们进行排序。然后您可以创建一个关联数组来将这些排序值映射到相应的百分比。
$percentages = array(100, 90, 80, 70, 60, 50, 40, 30, 20, 10);
$unique_values = array_map('intval', array_unique($a_c_s));
rsort($unique_values);
$percent_map = array_combine($unique_values, array_slice($percentages, 0, count($unique_values)));
foreach ($a_c_a as $val) {
echo $val . " - " . $percent_map[$val] . "%<br>";
}
推荐阅读
- python - 如何标准化我的数据以使平均值为 0?
- node.js - Mongoose:通过 findOneAndUpdate 查询使用嵌套对象数组的总和更新父子数据属性不起作用
- c# - 返回 List<> 继承 C#
- android - 如何将手机号码保存在firebase数据库中?
- python - Python转置数据并更改为0,1
- java - 火花工作之间的巨大时间差距
- typescript - 将输入值绑定到数组中的值
- python - 如何基于熊猫数据框中的单列(内爆或嵌套)合并多行?
- mongodb - 无法使用 Apache Kafka 使用 MongoDb 插件启动 Kafka Connect
- c# - 如何在机器人的自定义团队选项卡中配置是或否选项?