Я не совсем уверен, какую сортировку вы пытаетесь сделать (вы должны указать с некоторыми примерами). Но оптимально, вы не будете загружать фрагменты XML в ваш массив.
$xmlfile="
<Level1>
<Level2>
<Level2Item VAR1="1" VAR2="2" ... />
<Level2Item VAR1="4" VAR2="5" ... />
<Level2Item VAR1="7" VAR2="8" ... />
</Level2>
</Level1>";
//Extract each item
$xml = new SimpleXMLElement($xmlfile);
foreach ($xml->Level2[0] as $result) {
$VAR1Array[] = (int) $result['VAR1'];
$VAR2Array[] = (int) $result['VAR2'];
//... etc etc
}
Last, sort()
работает по ссылке, поэтому не приравнивайте ее к переменной (то есть просто скажите sort($array);
как всю строку, и тогда $array
будет отсортировано. Если вы приведете как int
s Как и в предыдущем примере, вы можете использовать функцию сортировки по умолчанию в php, не используя пользовательскую функцию сравнения, как предлагали другие. И array_push
немного медленнее и сложнее для чтения, чем использование синтаксиса php $var[]
для добавления нового элемент в массив.