Hvordan sjekke om tre variabler er like?

En tråd i 'PHP, SQL og databaser' startet av Balex93, 9 Sep 2010.

Trådstatus:
Stengt for ytterligere svar.
  1. Balex93

    Balex93 Medlem

    Innlegg:
    12
    Jeg bare lurer på dette av ren nysgjerrighet...

    Om man må finne ut om tre variabler er like, altså noe som

    PHP:
    if ($var1 == $var2 == $var3) {
       echo 
    'De er like';
       }
    else {
       echo 
    'De er ikke det' ;
    }
    Finnes det noen god måte å gjøre dette på?
     
  2. hohohoo Medlem

    Innlegg:
    195
    Hvis det er tall, så kan de gjøres om til binærtall, så sjekke om det reultatet blir like i hver posissjon:
    ..........t1-t2-t3
    var1 5: 1-0-1
    var2 4: 1-0-0
    var3 9: 0-1-1

    Hvis var1T1 = var1T2 så sjekke om var1t1 = var3t1, hvis ikke så er de ikke like. OK på begge disse gjør det samme for var2t1 osv....

    ........ T1-T2-T3
    var1 5: 1-0-1
    var2 5: 1-0-1
    var3 5: 1-0-1

    Så får dere tilgi den noe omtrentelige syntaksen :)
     
    Pong liker dette.
  3. to-ov Medlem

    Innlegg:
    123
    Hmm, tenker noe som dette vil funke.

    PHP:
    if ($var1 == $var2 && $var2 == $var3){

    echo 
    "jippi!";

    }else{

    echo 
    "no go";

    }
     
  4. Thomas Pedersen

    Thomas Pedersen Pornogründer

    Innlegg:
    632
    jepp. det to-ov viser her er måten jeg ville gjort det på
     
  5. Balex93

    Balex93 Medlem

    Innlegg:
    12
    Takk til to-ov. Det fungerer utmerket.

    Også takk til hohohoo for svar. Jeg kan prøve løsningen din en annen gang :)
     
  6. hohohoo Medlem

    Innlegg:
    195
    Skjønner du valgte den løsningen, men min var mer snedig ;-)
     
  7. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    hehe..
    Ikke vanskelig å gjøre dette mer komplisert enn det det er. :)
    Kjøre xor på "alle" mot "alle", så summere resultatene. Er svaret null så er de like.
     
  8. Pong

    Pong Jeg selger sʇɥƃıluʍop :)

    Innlegg:
    3.459
    God kode bør imnsho ikke være snedig, smart og sånt, men enkelt. Fancy kan fort bli dyrt i vedlikehold :)

    Kom idag over en sak idag (min egen kode) der jeg re-uset en variable senere i koden (det var en loop), og det førte til en time med feilsøking. Så det skal jeg passe på å ikke gjøre mer.

    to-ov sin versjon er i mine øyne å foretrekke fremfor xor'ing ;)
     
  9. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Ja, for all del, to-ov sin løsning er den ideelle her.

    Nevnte xor-løsningen som et alternativ til julenissens (hohohoo) kompliserte teori. :D
     
  10. tyr897

    tyr897 Medlem

    Innlegg:
    402
  11. Pong

    Pong Jeg selger sʇɥƃıluʍop :)

    Innlegg:
    3.459
    hohohoo hørte nesten til under svada-kategorien - men den var morro (ryktepoeng gitt) ;)
     
  12. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    Hey!

    Joooooooda, funker jo fett om du skal sjekke om 1=2 og 2=3 ;)
    skulle du ikke sjekke om alle var like?


    Når det gjelder å sjekke flere variabler opp mot hverandre, så vil jeg foreslå at du heller legger de i et array og så bruke funksjonen array_unique, for å sjekke om variablene er unike (dvs. ikke like..)
    noe som dette burde funke fett..:

    PHP:
    <?php

    /*Først få variablene inn i et array*/
    $array = array($var1$var2$var3);

    /*Så sjekke om variablene er unike*/
    if ($array == array_unique($array)) {

    //dersom unike (om alle i array'et er ulike)..
    echo 'Ingen like gitt';

    }

    /*ellers om de ikke er unike (om noen i array'et er like, med andre ord..)*/

    else {
        
        echo 
    'Noen like gitt....';
        
    }
    Ikke bare er det enklere, men går og fortere å søke igjennom..
    Om du er ny innenfor dette med PHP-programmering, vil du etterhvert lære deg å se løsninger på, med hurtigere og bedre-fungerende funksjoner..

    Sååååå STÅ PÅ!! ;)

    /S
     
  13. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Hvilken tilstand mener du han ikke fikk med seg her?
    Det at 1 og 3 aldri ble direkte sammenlignet?

    Sier ikke denne seg selv slik han har uttrykt det?
     
  14. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    Hey!

    PHP:
    <?
    if (
    $var1 == $var2 && $var2 == $var3){ 
    ?>
    Selvfølgelig viser den en måte man kan gjøre det på og, men hvorfor ikke lære seg å bruke array's med en gang?

    og spessielt om man skal sjekke mer enn 2 variabler..
    men, dette var bare ment som et eksempel og ikke en pekepinn..

    men, det er ikke slik man skal gjøre det om man vill oppnå raske og stabile resultater..

    Om du skal lakkere gamle bilen din gjør du det ikke med en sprayboks, bare for at noen har sagt det går, også forventer du deg at du skal få samme lakkeringsresultat som en splitter ny volvo..

    eller??

    /S
     
    Sist redigert: 11 Sep 2010
  15. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Det eksempelet med arrays du viste, løste jo ikke problemet til trådstarter.
    Gav han bare en pekepinn på hvordan han ikke kan løse det han spurte etter. :)
    Det var verken unike eller ikke unike han var ute etter, men om ALLE var like.
     
Trådstatus:
Stengt for ytterligere svar.

Del denne siden