Avatar billede mads_ms Nybegynder
13. juni 2002 - 16:44 Der er 13 kommentarer

find nummer i et array

jeg har et array der ser nogenlunde således ud:

"M",100567,5816 "A",100952,4928 "A",102327,4060 "A",102336,4001 "A",102437,9098 "N",102475,9560 "A",102551,0477 "A",102720,3901

jeg vil så gerne have en funktion der søger på et talsæt feks. 100567,5816 og derefter returnerer 'fundet' eller 'ikke fundet' (altså funktionen skal være i en if - else sætning)

jeg har prøvet lidt med nedenstående preg_match, men kan ikke få det til at virke !!

if (preg_match ("/100567,5816/i", $tekst)) {
    print "A match was found.";
} else {
    print "A match was not found.";
}
Avatar billede eflow Nybegynder
13. juni 2002 - 16:59 #1
Avatar billede mads_ms Nybegynder
13. juni 2002 - 17:07 #2
godt råd... har lige prøvet - men den returnerer denne fejl
Wrong datatype for second argument in call to in_array in ...

tror du data i mit array står på en forkert måde ? kan den ikke lide " tegnene ??
Avatar billede eflow Nybegynder
13. juni 2002 - 17:35 #3
if (in_array("100567,5816",$dit_array)){
//found
} else {
//not found
}
Avatar billede mads_ms Nybegynder
13. juni 2002 - 17:39 #4
jeg har fundet ud af at problemet er at der er gåsetegn (") i arrayet ... nogen der kan lave en ereg_replace der fjerner alle " tegn i mit array ??
Avatar billede aslan Nybegynder
13. juni 2002 - 17:46 #5
et skud i tågen....
$array = str_replace(", , $array);
Avatar billede mads_ms Nybegynder
13. juni 2002 - 17:55 #6
aslan: det skal være noget i den retning, men lige den virker ikke
Avatar billede tipsen Nybegynder
13. juni 2002 - 18:30 #7
Dit array er lidt mystisk...

elementer i et array adskilles af , ! Dvs. at 5816 "A" er ét element da der ikke er komma i mellem - det tror jeg bare ikke at php kan lide...

Hvis det er kommatal, skal de adskilles af . eller også skal de i anførselstegn!
Avatar billede mads_ms Nybegynder
13. juni 2002 - 20:16 #8
tipsen: Du har fuldstændig ret !! det er et underligt array - det er et PERL script der genererer det - og det kan der ikke laves om på !!

Derfor søger jeg en function i stil med ereg_replace til at fjerne alle anførselstegn i mit array - sådan at jeg derefter kan søge i det

Og du har ret , PHP kan absolut ikke li de anførselstegn - det er derfor min in_array ikke finder noget !
Avatar billede eflow Nybegynder
13. juni 2002 - 20:19 #9
ahh, hmm, du skal ikke bare fjerne dem du skal også replace, good luck siger jeg bare ... *s*
Avatar billede mads_ms Nybegynder
13. juni 2002 - 20:21 #10
eflow: jaja selvfølgelig .. okay slette eller replace med ingenting ... same thing ... men skal bruge en løsning og ikke held
Avatar billede eflow Nybegynder
13. juni 2002 - 20:49 #11
nej det er ikke det jeg mener, se her:
der er en post i dit array:
0477 "A"
den skal jo så laves om til:
"0477 A" ellers er det jo bare et tal og der kan derfor ikke stå A ... så du skal konvetere det til en streng ...
Avatar billede mads_ms Nybegynder
13. juni 2002 - 21:16 #12
eflow: Okay .. hmm som jeg ser det skal jeg bare have " erstattet med ingenting - og så vil jeg kunne bruge in_array og søge på talpar
Avatar billede eflow Nybegynder
13. juni 2002 - 21:44 #13
ja okey :p
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