- print_r: documentation ( source)
- memory_get_usage: documentation ( source)
- usort: documentation ( source)
<?php
$xmls = [6, 3, 2, 5, 4, 1];
echo memory_get_usage() . "\n\n";
usort($xmls, function($a, $b) {
static $documents = array();
if (!isset($documents[$a])) {
$documents[$a] = true;
}
if (!isset($documents[$b])) {
$documents[$b] = true;
}
echo memory_get_usage() . "\n" . print_r($documents, true) . "\n";
if ($documents[$a] == $documents[$b]) {
return 0;
}
return $documents[$a] < $documents[$b] ? -1 : 1;
});
echo memory_get_usage() . "\n" . print_r($xmls, true) . "\n";