我遇到了一個問題,我的任何值都沒有以正確的順序結束。使用usx和simplexml
$xml = file_get_contents('admin/people.xml');
$x = new SimpleXMLElement($xml);
$sort=$x->person;
function cmp($a, $b){
if ($a->age == $b->age) {
return 0;
}
return ($a->age < $b->age) ? -1 : 1;
}
usort($sort, 'cmp');
foreach ($sort as $key => $value) {
echo "$key: $value->age<br>";
}
從我讀過的一切,這應該工作,但它沒有。這裏是XML:
<people>
<person>
<name>Frank</name>
<age>12</age>
</person>
<person>
<name>Jim</name>
<age>6023</age>
</person>
<person>
<name>Tony</name>
<age>234</age>
</person>
<person>
<name>Bob</name>
<age>2551</age>
</person>
<person>
<name>Dave</name>
<age>21</age>
</person>
<person>
<name>Trevor</name>
<age>56</age>
</person>
<person>
<name>Mike</name>
<age>89</age>
</person>
</people>
而我得到的結果是這是,這是沒有一種秩序!
0: 6023
2: 21
3: 234
4: 12
6: 56
7: 2551
8: 89
任何想法?
非常感謝......
可能重複的[PHP與SimpleXML排序問題](http://stackoverflow.com/questions/3023029/php-sorting-issue-with-simplexml) – hakre