我有几个数组如下:
$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
如何显示结果?谢谢:))
答案 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;
}