Kom ihåg mig?
Home Menu

Menu


Sortera array av objekt (simpleXML)

 
Ämnesverktyg Visningsalternativ
Gammal 2010-06-01, 13:06 #1
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Citat:
Ursprungligen postat av jayzee Visa inlägg
Så det finns ingen annan lösning än att göra om array av objekt till vanlig array och sortera den då? Anledningen till att jag frågar är att jag helst vill behålla objektstrukturen och att varje objekt innehåller ca. 20 attribut (ej med i mitt exempel).
Om det inte finns någon inbyggd sorteringsfunktion i objektet så kan det omöjligen veta hur det ska sorteras, eller hur? Alternativet är att bygga en egen sorteringsfunktion vilket kanske är motiverat i ditt fall men vi vet ju inte direkt hur ditt system är uppbyggt.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Gammal 2010-06-01, 14:25 #2
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
jayzee jayzee är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2008
Inlägg: 1 089
Citat:
Ursprungligen postat av tartareandesire Visa inlägg
Om det inte finns någon inbyggd sorteringsfunktion i objektet så kan det omöjligen veta hur det ska sorteras, eller hur? Alternativet är att bygga en egen sorteringsfunktion vilket kanske är motiverat i ditt fall men vi vet ju inte direkt hur ditt system är uppbyggt.
Finns inget system tyvärr. Bara den XML filen som hämtas av ett cronjob och som jag läser in med SimpleXML och försöker få objekten sorterade efter 'added' fältet
Original XML filen innehåller dock fler attribut förrutom 'added' i varje objekt men det är oviktigt i detta sammanhang.

Senast redigerad av jayzee den 2010-06-01 klockan 14:29
jayzee är inte uppkopplad   Svara med citatSvara med citat
Gammal 2010-06-01, 15:05 #3
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
qson qson är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Sep 2006
Inlägg: 513
Citat:
Ursprungligen postat av jayzee Visa inlägg
Finns inget system tyvärr. Bara den XML filen som hämtas av ett cronjob och som jag läser in med SimpleXML och försöker få objekten sorterade efter 'added' fältet
Original XML filen innehåller dock fler attribut förrutom 'added' i varje objekt men det är oviktigt i detta sammanhang.
Gör om objektlistan till en array, sedan kan du sortera den med valfri sorteringsmetod.

znap:s kod bör funka om du tar bort indexet.

PHP-kod:
$car_data = array();
foreach(
$xml->car as $car)
  
$car_data[] = $car;

/* Sorteringsfunktionen är saxad från php-manualen (usort) */
function sortByAdded($car1,$car2) {
    if (
$car1->added == $car2->added) {
        return 
0;
    }
    return (
$car1->added $car2->added) ? -1;
}

usort($car_data"sortByAdded"); 
qson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 06:04.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017