次のようないくつかの配列があります。
$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
そのような結果を表示する方法は?ありがとう :)
もし、するなら:
echo $number3[1], "\n";
echo $number1[1], "\n";
echo $number4[1], "\n";
echo $number2[1], "\n";
あなたは得るでしょう
0.41
0.42
0.43
0.44
しかし、並べ替えについて何かを学びたい場合は、マニュアルを読む必要があります。
データと配列の使い方が間違っています。明日、ソートする数字がさらに 500 個あるとしたら?
すべての値を含む 1 つの配列が必要です。
<?
$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
個人的には、そのコードを 1 つの配列に凝縮します。これにより、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 />';
}
配列を作り直す必要はありません。double を使用できます$$
。これは変数ではなく出力しますが、値に格納されている変数にアクセスしようとします。
このような:
$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;
}