自从我使用HTML和PHP以来已有很长时间了。
他们从第三方客户反馈工具中提供了API。很容易从API中提取“幸福值”,并以百分比显示。没事,没事..
<?php include('https://app.customerthermometer.com/api.php?apiKey=********************&getMethod=getHappinessValue'); ?>
我想知道并尝试使用文档中的PHP Includes来实现这一点,并使视图更加丰富多彩。例如;
http://jsfiddle.net/b6tqtaLn/1/
将百分比(例如,API的95%)转换为可在星标中看到的值的最佳方法是什么?
谢谢!
答案 0 :(得分:3)
首先,您需要定义要使用的(最大)星数。
例如,如果您从API中获得的最高价值是100%,并且您使用的是10星,那么这很容易做到。
示例:
$api_percentage_value = '95%'; // Given from API
$converted_percentage_value = (int) $api_percentage_value; // Make it an integer
echo $converted_percentage_value; // outcome = 95 (integer)
/**
* Personally I would like to have the 'raw' data to be in a string like above.
* But if you prefer to have it in a single string simply delete the `$api_percentage_value` and drop the API data inside `$converted_percentage_value` right away.
* But remember you need to add `(int)` before the result. Otherwise it will not be an integer.
* Also, incase they do deliver only an integer, it might work for some time.
* But we all know many API developers just change stuff within their output without communication (before and/or after the change).
* So I prefer to have it split up and make my own validation.
*/
所以,现在我们有一个整数。
假设1星= 10分。
其背后的计算公式为:
95 / 100 = 0,95. * 10. = 9.5 (stars) // Incase 1 star = 20 points: simply do 95 / 200, etc.
-或-
$stars = ($converted_percentage_value / 100) * 10;
echo $stars; // outcome: (int) 9.5
因此,现在您可以显示9.5(或9)颗星星:-)。
$score = floor($converted_percentage_value); // outcome: 9.
现在您可以进行一次foreach了,每次都减去$score
($score--)
。一旦$score
低于(int) 1
,您就可以停止脚本。
您是否知道如何执行此操作? 还是您希望有一个示例代码,以在带有倒计时的foreach中显示星星?
答案 1 :(得分:1)
这看起来真的很简单-您只需要将每个数字都当作星号即可。
例如
$value = '95';
$stars = '';
switch($value) {
case ($value >= '80' && $value <= '100'):
$stars = '5'
break;
case ($value >= '60' && $value <= '79'):
$stars = '4'
break;
}