我基本上试图建立一个排行榜系统。我需要在我的.yml文件中放入两种类型的数据:播放器的名称及其分数。
这是一个var转储:
array(3) {
[0]=>
array(2) {
[0]=>
string(10) "samueljh1_"
[1]=>
int(3)
}
[1]=>
array(2) {
[0]=>
string(12) "samueljh1_54"
[1]=>
int(1)
}
[2]=>
array(2) {
[0]=>
string(11) "samueljh1_1"
[1]=>
int(8)
}
所以,我想要做的是命令这个数组,所以这是按数字顺序 - 整数是。
基本上,将上面的var转换转换为如下所示:
array(3) {
[0]=>
array(2) {
[0]=>
string(11) "samueljh1_1"
[1]=>
int(8)
}
array(2) {
[1]=>
string(10) "samueljh1_"
[1]=>
int(3)
}
[2]=>
array(2) {
[0]=>
string(12) "samueljh1_54"
[1]=>
int(1)
}
}
如果无法做到这一点,是否有其他方法可以存储此数据?
非常感谢, - Sam。
答案 0 :(得分:1)
首先,我建议使用播放器名称作为分数值的关联键,并简化数组的结构,如下所示:
$testArray = array("samueljh1_" => 3, "samueljh1_54" => 1, "samueljh1_1" => 8);
这使得数组解析起来更加简单,并使数据结构更接近于您拥有的数据之间的关系。然后,你正在寻找的是反向排序的函数arsort()
:
arsort($testArray, SORT_NUMERIC); // $testArray is passed by reference
var_dump($testArray);
产量
array(3) {
["samueljh1_1"]=>
int(8)
["samueljh1_"]=>
int(3)
["samueljh1_54"]=>
int(1)
}