按顺序打印数组值和变量

时间:2012-12-10 16:46:56

标签: php arrays foreach

我确信有一个更简单的解决方案,我正在寻找

这里有一些代码基本上描述了我在做什么:

$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

我要做的是按顺序打印分数值的数组值。

2 个答案:

答案 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()),但您所拥有的应该是有效的。