Hvordan sjekke om tre variabler er like?

Status
Stengt for ytterligere svar.

Sjefskoder

Sjefskoder
Hey!

Det var verken unike eller ikke unike han var ute etter, men om ALLE var like.

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
 

Nutz

Med lem
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....';
    
} 
?>
 

Nutz

Med lem
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.
 

Sjefskoder

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

Nutz

Med lem
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?
 

Sjefskoder

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

Nutz

Med lem
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
 

Nutz

Med lem
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..
 

Sjefskoder

Sjefskoder
Legger du deg flat og ruller rundt, så skal jeg klø deg på magen.

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:

Nutz

Med lem
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:

Sjefskoder

Sjefskoder
Enig i at dette er et artig felt, og at alle koser seg med PHP bør sette seg inn i det med arrays, ikke minst du!

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:

Nutz

Med lem
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.
 

Sjefskoder

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

Nutz

Med lem
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.
 

Sjefskoder

Sjefskoder
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?
og spessielt om man skal sjekke mer enn 2 variabler..


/S
 
Sist redigert:
Status
Stengt for ytterligere svar.
Topp