Avatar billede bagerens Nybegynder
03. august 2010 - 06:48 Der er 4 kommentarer og
1 løsning

Find i Array

Hej Alle
Jeg har et problem med hensyn til et array.. Eller jeg har 2 arrays og de skal sammenlignes.

array 1 = 1,2,2,2,3,3,7,9,10,10,10,11,11
array 2 = 1,2,3,4,5,6,7,8,9,10,11,12

forskellen i de 2 arrays, rent talmæssigt er at der i array 2 er 4,5,6,12 og det er der ikke i array 1.
Hvordan kommer man rent kodemæssigt frem til det?

Når man så er kommet frem til det, indeholder det "nye" array
4,5,6,12

Hvordan tester man i et array om der er 3 tal i træk og derefter echo´er det første tal ud. I arrayet er der 4,5,6,12, dvs at 4,5,6 er tre tal i træk, så skal den echo 4.

Hvordan gør man det?

Håber på hjælp
Avatar billede showsource Seniormester
03. august 2010 - 06:53 #1
Forskellen:
http://dk.php.net/manual/en/function.array-diff.php

Det med rækkefølge må du nok løbe array igennem
Avatar billede bagerens Nybegynder
03. august 2010 - 16:38 #2
Tak for den første oplysning. Men hvis det ene array indeholder 4 1´taller og det anden 3, vil den så ik stadig sige der er 1 til forskel?

Hvordan vil du "løbe" array´et igennem så man kan det jeg beskriver?
Avatar billede showsource Seniormester
10. august 2010 - 13:28 #3
Nej, med array_diff får du de tal som er i det første array. og som IKKE er i det andet array.

Hvordan man lige laver koden til et tjek på "fortløbne" tal kan jeg ikke lige svare dig på.
Avatar billede showsource Seniormester
10. august 2010 - 14:19 #4
Hmm ved ikke, men nok noget a'la'

<?php

$tal_et = array(1,2,3,4,5,6,7,8,9,10,11,12);
$tal_to = array(1,2,2,2,3,3,7,9,10,11,12,13,11);

$new = array_diff($tal_et, $tal_to);

echo"<pre>";

print_r($new);

echo"</pre>";

for($i = 0; $i < count($tal_to); $i++) {

$next = ($i+2);

    if(isset($tal_to[$next])) {

        if(($tal_to[($next)]-$tal_to[$i]) == 2) {

        echo $tal_to[$i]."<br>";
        }


    }

}

?>
Avatar billede bagerens Nybegynder
03. september 2010 - 08:51 #5
cd
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