-1

我想根据加载到页面中的动态数据对数组的内容进行排序。

for ($i = 0; $i < $x; $i++) {
    if ($string != "") $string = $string . ", ";
    $string = $string . "\"$id[$i]\" => \"$land[$i]\"";

}
echo $string . "<br>"; //1
$my_array = array($string);
print_r($my_array); //2

asort($my_array);
print_r($my_array); //3


$my_array = array("832838" => "32", "233463" => "3");

asort($my_array);
print_r($my_array); //4

产生这个输出

1 "832838" => "32", "233463" => "3"
2 Array ( [0] => "832838" => "32", "233463" => "3" ) 
3 Array ( [0] => "832838" => "32", "233463" => "3" ) 
4 Array ( [233463] => 3 [832838] => 32 ) 

第 1 行是第 3 行的 for 语句的输出,它使用变量进行排序,第 4 行直接输入,检查错误在哪里,当使用变量通过 array() 函数时,是混乱的地方发生了,有没有办法解决这个问题?

4

2 回答 2

0

使用 rsort 函数解决。

<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

上面的示例将输出:

0 = orange
1 = lemon
2 = banana
3 = apple
于 2013-01-14T08:04:28.583 回答
0

如果您想从像您这样的字符串创建数组。用这个:

$string = '"832838" => "32", "233463" => "3"';
$my_array = eval("return array({$string});");
于 2013-01-14T08:40:36.977 回答