数组中的实数序列

时间:2012-11-30 08:19:54

标签: php arrays sorting

我有几个数组如下:

$number1 = array('A', 0.42);
$number2 = array('B', 0.44);
$number3 = array('C', 0.41);
$number4 = array('D', 0.43);

我想显示如下结果:

0.41
0.42
0.43
0.44

如何显示结果?谢谢:))

4 个答案:

答案 0 :(得分:0)

如果你这样做:

echo $number3[1], "\n";
echo $number1[1], "\n";
echo $number4[1], "\n";
echo $number2[1], "\n";

你会得到

0.41
0.42
0.43
0.44

但是如果你想了解有关排序的知识,你应该read the manual

答案 1 :(得分:0)

您使用数据和数组的方式是错误的。如果明天你有500多个数字要排序怎么办?

您应该有一个包含所有值的数组。

<?
$data = array(
  "A" => 0.45,
  "B" => 0.43,
  "C" => 0.41,
  "D" => 0.42
);

asort($data);
foreach ($data as $key => $val) {
    echo "$key = $val\n";
}
?>

应该打印类似

的内容
C = 0.41
D = 0.42
B = 0.43
A = 0.45

答案 2 :(得分:0)

就个人而言,我会将该代码压缩成一个数组,这将允许一个很好的for / foreach循环和排序:

$numbers = array(
    'A' => 0.42,
    'B' => 0.44,
    'C' => 0.41,
    'D' => 0.43
);

asort($numbers);

foreach ($numbers as $number)
{
    echo $number . '<br />';
}

答案 3 :(得分:0)

需要重新制作阵列。您可以使用双$$。这将不打印变量,但会尝试访问存储在值中的变量。

像这样:

$number1 = array('A', 0.42);
$number2 = array('B', 0.44);
$number3 = array('C', 0.41);
$number4 = array('D', 0.43);

$k = 1;
$name = 'number' . $k;
while ( isset($$name) )
{
    $tmp = $$name;
    echo $tmp[1] . '<br/>';
    $k++;
    $name = 'number' . $k;
}