44466

Question:
I'd like to have a more accurate alphabetical sort for xpath. My current system only sorts the first two characters of the field... I'd like it the order the whole field if possible.
foreach(range('A','Z') AS $firstletter) {
foreach(range('a','z') AS $secondletter) {
$letters = $firstletter.$secondletter;
if($item->xpath("/Entries
/Entry[
starts-with(
Field42,
'".$letters."'
)
and
Field380 = 'Okay'
]")) {
The Field42 entries are lastnames (ie Brown, Brownstein, Brownwood, Byrnes,..)
Answer1:I don't think you'll be able to sort using XPath <em>(its goal being to select data -- not sort it)</em>.
So, why not do it in pure-PHP :
<ul><li>First, load all of your nodes to a PHP array</li> <li>And, then, sort that array using one of the functions provided by PHP <ul><li>Such as <a href="http://fr2.php.net/sort" rel="nofollow">sort
</a>, <a href="http://fr2.php.net/manual/en/function.asort.php" rel="nofollow">asort
</a>, <a href="http://fr2.php.net/manual/en/function.usort.php" rel="nofollow">usort
</a>, ...</li>
</ul></li>
</ul>