0

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,..)

1 Answer 1

2

I don't think you'll be able to sort using XPath (its goal being to select data -- not sort it).

So, why not do it in pure-PHP :

  • First, load all of your nodes to a PHP array
  • And, then, sort that array using one of the functions provided by PHP
Sign up to request clarification or add additional context in comments.

1 Comment

+1 Properly speaking, node sets are "unordered collection of nodes without duplicates"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.