我确信有一个更简单的解决方案,我正在寻找
这里有一些代码基本上描述了我在做什么:
$array = array('1.4','2.7','4.1','5.9');
$score = '4.4';
foreach($array as $value) {
if($score>$value){
$x = $value;
}
}
foreach($array as $value) {
if($x==$value){
echo $value."<br>";
echo $score."<-- <br>";
} else {
echo $value."<br>";
}
}
将显示为:
1.4
2.7
4.1
4.4<--
5.9
我要做的是按顺序打印分数值的数组值。
答案 0 :(得分:4)
为什么不将数组更改为实际数值然后对其进行排序?
$array = array(1.4, 2.7, 4.1, 5.9);
$score = 4.4;
$array[] = $score;
sort($array);
或者如果您需要使用字符串:
$array = array('1.4', '2.7', '4.1', '5.9');
$score = '4.4';
$array[] = $score;
sort($array, SORT_NUMERIC);
答案 1 :(得分:0)
对于排序,可能最简单的方法是使用sort()
方法(docs)。
每次通过第一次循环时,你都会覆盖$x
。 ...它的编写方式,当你完成第一个循环时,$x
的最后一个值小于$score
。 (你在确定一条截止线吗?)
使用sort()
方法排序后,第二个循环应该按照您的意图运行。有更严格的方法来进行打印(例如,您可以implode()
),但您所拥有的应该是有效的。