Avatar billede encorez Nybegynder
08. juni 2010 - 15:21 Der er 2 kommentarer og
1 løsning

Sammenlign arrays

Hej

Jeg skal sammenligne to sæt data og finde det "nye" der er kommet til siden det ældre sæt data.

Jeg skal høre eksperterne om min ide her overhovedet er mulig at gøre på en nem måde.

Nemlig at lægge begge sæt data in i hver sit array, så opbygningen er den samme.
$A[] - nyeste data
$B[] - ældre data

Er der så en nem funktion i PHP så kan sammenligne de to og returnere det $A indeholde som IKKE er indeholdt i $B?
Og dermed finde det nyeste tilkomne data siden sidste datasæt.


Min alternative metode er at lægge den gamle sæt data i et array og derefter køre det nyeste sæt data igennem og hvor hver entry spørge om det eksistere i arrayet (gamle data) eller ej.
Avatar billede intenz Novice
08. juni 2010 - 15:48 #1
Hvis du har:
$a = array(1, 2);
$b = array(1, 2, 3);

Kan du bruge:
$forskel = array_diff($b, $a); // vil indeholde '3'

Der er forskellige varianter af array_diff, hvis du har et specielt behov.

http://www.php.net/manual/en/function.array-diff.php
Avatar billede encorez Nybegynder
08. juni 2010 - 15:56 #2
super, den kan måske gøre det. Jeg glemte at nævne før at mine 2 arrays vil komme til at indholde arrays.
Så kan den også finde ud af at sammenligne arrays inde i arrays?
Avatar billede intenz Novice
08. juni 2010 - 16:14 #3
Nej, ikke umiddelbart.

php manualen (fra det link jeg skrev) giver følgende info:

Note: This function only checks one dimension of a n-dimensional array. Of course you can check deeper dimensions by using array_diff($array1[0], $array2[0]);.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester