问题
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:
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
- Such as sort, asort, usort, ...
来源:https://stackoverflow.com/questions/5598595/php-xpath-sort-alphabetically-by-field