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. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    Hey!

    Og hva menes med ordet unik?

    at det ikke er noe likt..
    Du er med på den?
    en unik diamant, f.eks..

    om han så da skal sjekke om alle er like, så vil det si at ingen er unik..
    ingen er ulik noen, men lik..
    eller?

    på godt norsk betyr det følgende:

    Om ingen er unike = om det ikke finnes noen som er like

    Om unike finnes = om alle er like

    /S
     
  2. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Fikset litt på koden din.

    Dette var det trådstarter var etter dersom vi skulle tvinge han igjennom array-smørja di! :D
    Men det originale arrayet blir ødelagt etter en sånn kvern.. -Lett å glemme det i alt kaoset.

    PHP:
    <?php

    /*Først få variablene inn i et array*/

    $array array_unique( array($var1$var2$var3));

    /*Så sjekke om variablene er unike */
    if (sizeof($array) == 1) {
        
    //dersom alle var like
    echo 'Alle like gitt';

    }

    /*ellers om det var noen ulike. */

    else {
        
        echo 
    'Noen like gitt....';
        

    ?>
     
  3. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Ser du forskjellen på de to forskjellige snuttene Sjefskoder?

    Egentlig "bare" sizeof array =1 som sier at listen besto av bare like verdier etter en reduksjon med array_unique.
     
  4. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    sorry men...

    Hvorfor og hva er det du ikke skjønner???

    om ingen er like, så vil det si at alle er unike..
    altså 1 = 1, 2 =2, 3 = 3 osv osv..

    Om alle er like vil det si ingen av de er unike..
    1=2+3, 2=1+3, 3=1+2..

    Så om du ikke forstår hva koden min gjør, så behøver du ikke føkke den til ved å gjøre den om til det du tror jeg mener eller det du synes er bedre..

    Min kode gjør det den skal, altså det trådstarter spurte etter

    hvordan sjekke om variabler er like hverandre

    og bare så det er sagt og så er sizeof , det samme som count..
    så det din kode gjør er å sjekke om resultatet i array'et = 1 ..
    hvor mange variabler det er i array'et, sjekker du med andre ord..
    om antallet variabler = 1..

    men, nå dropper vi dette og finner på noe annet før jeg drar ned mine utdannelse-attester fra veggen her og smeller de i hue på deg, mens jeg skriker "fagfolk er fagfolk!!!" :p

    /S
     
    Sist redigert: 11 Sep 2010
  5. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Nei.. Du tar feil O'høyt-utdanna-med attester både her og der.
    Noe av kjerneproblemet med programmerere når attestene benyttes som argumentasjon der sviktende kode har blitt presentert.
    -Oser rett og slett en usmakelig arroganse, og sviktende evne til å se at de har gjort en liten logisk glipp.

    verdiene våre er 1,2,3 OK?

    Om array er lik etter array_unique så sier det kun at det ikke har blitt foretatt en reduksjon.
    ergo: arrayet kan se slik ut. -(det inneholder unike verdier)
    1
    2
    3

    Verdier 1, 1, 2
    etter det foretatt en reduksjon ser slik ut: (flere like)
    1
    2


    Verdier 1,1,1 (flere like)
    1
    OK?

    Hvordan isolerer man at alle var like?
     
  6. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    nei,nei,nei og atter nei, svarer jeg da til det..

    si at vi har 5 variabler :

    $en, $to, $tre, $fire, $fem..

    Vi legger disse i et array..

    array($en, $to, $tre, $fire, $fem);

    da blir :
    $en : array[0]
    $to : array[1]
    $tre : array[2]
    $fire : array[3]
    $fem : array[4]

    og om du kjører en echo av sizeof($array)

    får du printet ut antallet i den array'n, som er 5

    og om du da sier

    if (sizeof($array) == 1), som på godt norsk betyr:

    om antallet i array'et er lik 1...

    sjekk ut denne koden og se hva som skjer..

    PHP:
    <?
    $array = array($en$to$tre$fire$fem);

    if (
    sizeof($array) == 1) { 
        
        echo 
    'Det er '.sizeof($array).' stk. variabel i arrayet';
        
    }

    else {
        
        echo 
    'Det er '.sizeof($array).' stk. variabler i arrayet';
        
    }
    ?> 
    SÅ printer den ut :
    Det er 5 stk. variabler i arrayet


    Men om vi derimot har bare en variabel i array'et så :
    PHP:
    <?
    $array = array($en);

    if (
    sizeof($array) == 1) { 
        
        echo 
    'Det er '.sizeof($array).' stk. variabel i arrayet';
        
    }

    else {
        
        echo 
    'Det er '.sizeof($array).' stk. variabler i arrayet';
        
    }
    ?> 
    SÅ printer den ut :
    Det er 1 stk. variabel i arrayet

    /S
     
  7. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Legger du noen verdier i variablene med noen av de like, og kjører "array_unique" på det, så vil du se at arrayet ditt krymper.

    -Vet du gjerne vil bortforklare litt logisk brist i opplegget ditt. :)
    Legger du deg flat og ruller rundt, så skal jeg klø deg på magen. :D
     
  8. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    PHP:
    <?php
    $var1
    ="hallo";
    $var2="hallo";
    $var3="hallo";
    $var4="hallo";
    $var5="hallo";
    $array array_unique( array($var1$var2$var3,$var4,$var5 ));
    echo 
    sizeof($array) ; // gir resultat 1
    ?>
    PHP:
    <?php
    $var1
    ="Hallo";
    $var2="hvordan";
    $var3="har";
    $var4="du";
    $var5="det?";
    $array array_unique( array($var1$var2$var3,$var4,$var5 ));
    echo 
    sizeof($array) ; // gir resultat 5
    ?>
    PHP:
    <?php
    $var1
    =1;
    $var2=1;
    $var3=2;
    $var4=2;
    $var5=1;
    $array array_unique( array($var1$var2$var3,$var4,$var5 ));
    echo 
    sizeof($array) ; // gir resultat 2
    ?>
    Hva er galt med å anta at dersom sizeof($array) =1 at alle variablene hadde samme verdi?

    Din originale løsning sa ingenting om at alle hadde samme verdi. den indikerte at alle var ulike eller at det var en eller fler like i den..
     
  9. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    skjer ikke..
    Den dagen jeg legger meg flat og tilstår at jeg har gjort en feil, når jeg ikke har gjort det, vil ikke engang skje om det blir kaldt i helvettet og jeg må sette fyr på meg sjøl for å få varme i kroppen..

    no way..

    og du, er noe unikt så betyr det at de ikke er ulike, for siste gang...

    men, jeg har ikke mer tid å sløse på dette da jeg har mer en nok av andre ting å gjøre enn å sitte å diskutere og sløse tid på dette...

    så det blir nok ikke noen mage-kløing på deg fra denne kar'n gitt :p
    Og en anna ting..

    jeg begynte mitt skoleliv som de fleste andre i min alder, når jeg var sju år på barneskolen. fullførte da og , uten avbrudd, ungdomsskole, videregående, høyskole og universitetsutdannelse.. som 27åring var jeg ferdig utdannet.. for fire år siden tok jeg denne sertifiseringen i tillegg..

    jeg jobber idag i et av verdens største konsern innen programmeringsløsninger som ansvarlig for kodekontroll, strukturansvarlig og viderekursing av ansatte..

    Kunne jeg nevnt navnet på firmaet hadde jeg gladelig gjort det, men firmanavnet skal ikke assosieres med noenting annet en firmaet på nettet i følge ansettelseskontrakten skrevet for snart 7 år siden....
    Er en grunn til at jeg har nettopp denne jobben jeg har...
    Jeg kan mitt fag...

    og du da?
    hobbysnekker som sitter og henter kode fra php.net for å bruke som argument, når du ikke engang ser hva den koden gjør?


    Sorry at jeg er rapp i kjeften her, men orker ikke å ta imot piss fra folk som ikke kan det de prater om..

    men, NÅ er jeg ferdig med denne saken....

    /S
     
    Sist redigert: 11 Sep 2010
  10. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    hehe..
    Ikke vanskelig å etterprøve kodesnutten din for omtrent alle her inne da.

    Du har helt rett, jeg er bare en "cowboy" i forhold til deg, men likevel klarte å se den logiske bristen til en høyt utdanna og arrogant programmerer.

    Enig i at dette er et artig felt, og at alle som koser seg med PHP bør sette seg inn i det med arrays, ikke minst du! ;)
     
    Sist redigert: 12 Sep 2010
  11. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    ro ned hestene dine nå gutten min..
    Ellers så zender ;) jeg en forbannels over de...

    for siste gang..

    er du med??

    om noe er unikt, så vil det si at ingenting annet er likt dette..
    greit?

    og om alle felter består av samme tekst så betyr det at ingen av variablene er unike..
    greit?

    og hva blir da resultatet dersom alle er like??
    jo de er IKKE unike..

    Hva gjorde koden min?

    array'et såg etter unike..
    if ($array == array_unique($array)) //OM UNIKE..
    Som igjen betyr ingen like, alle ulike. derav unike
    om derimot ALLE ER LIKE betyr det at de ikke, ikke, ikke, ikke er unike

    else {}//HER ALTSÅ!!


    *rest my case*
    /S
     
    Sist redigert: 12 Sep 2010
  12. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Fatter ikke hvorfor du skal kverulere mer på dette.
    Unike eller ikke unike.. Var ikke det trådstarter var ute etter!
    Han ville vite om de var LIKE!
    -Altså om verdiene av det som var i variablene var like..

    Så spyr du ut en "Genial løsning" som er så langt unna som det er mulig å komme det han var ute etter.
    Tror ikke du har peiling på hva unike eller like verdier betyr i denne sammenhengen.
     
  13. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    trodde virkelig jeg skulle slippe dette...

    men, da tar vi det ned på barneskole nivå..

    Vi har en spesiell bærepose med fem ting i, som ikke finnes noen andre steder i verden.

    1 blå stein, 1 lilla spade, 1 rosa eple, 1 grå sjørøver-bøtte og 1 elefant-sokk..

    ALLE de er ulike..
    Da er hver av de ulike fra de andre..
    dermed unike, siden det kun finnes 1 av hver..

    og dersom det finnes fler enn bare en av samme gjenstand, f.eks 1 blå stein, 1 lilla spade, 1 rosa eple og 2 grå sjørøver-bøtter, så er gjenstanen ikke unike i posen, som i vårt tillfelle er funksjonen array..

    og da skjønte du kanskje?? :p
     
    Sist redigert: 12 Sep 2010
  14. Nutz

    Nutz Med lem

    Innlegg:
    1.139
    Dette har jeg hatt helt klart for meg helt i fra begynnelsen.
    Men nå ville gutten på toppen av denne tråden sjekke om det var KUN 3 like ting i posen.
    Han ville ha et klart svar på det med å kaste et blikk i den..
    Svarene du presenterer med din kode er alt annet enn det.
    Du sier enten "Det er bare unike" (altså alle enhetene i lista er ulike)
    Eller så sier du: "Det er ikke bare unike her" Altså flere av en type.

    Null og nada på om alle er like! (som han var ute etter)
    Altså du tilegner koden din egenskaper den faktisk ikke er kapabel til å finne ut.
     
  15. Sjefskoder

    Sjefskoder Sjefskoder

    Innlegg:
    437
    for svarte f**n da?

    hvor dum er det egentlig mulig å bli?

    hør her :

    if ($array == array_unique($array)) {

    DEN SJEKKER OM ALT I ARRAYET ER UNIKT. DERAV 1 ELLER 2 ELLER 3 ELLER 4 ELLER 5 SOM IKKE ER LIKE!!!!


    ER DET SÅ VANSKELIG Å FORSTÅ????????

    men, ja.. vi lar gutten bruke det han vil også får vi be han ringe når han skal kontrollere 40 variabler opp mot hverandre og da ikke vil sitte med følgende kode:

    if( 1==2 && 1==3 && 1==4 && 1==5 && 1==6 && 1==7 && 1==8 && 1==9 && 1==10 && 1==11 && 1==12 && 1==13 && 1==14 && 1==15 && 1==16 && 1==17 && 1==18 && 1==19 && 1==20 && 1==21 && 1==22 && 1==23 && 1==24 && 1==25 && 1==26 && 1==27 && 1==28 && 1==29 && 1==30 && 1==31 && 1==32 && 1==33 && 1==34 && 1==35 && 1==36 && 1==37 && 1==38 && 1==39 && 1==40){


    og du, fikk du med deg at jeg og skrev følgende lengre opp i tråden, forresten?

    /S
     
    Sist redigert: 12 Sep 2010
Trådstatus:
Stengt for ytterligere svar.

Del denne siden