22. januar 2006 - 15:05
Der er
9 kommentarer og 1 løsning
Opdeling af tal
Hej, Jeg har en $tal = "321654100250"; jeg vil gerne tjekke om der i $tal er 12 cifre, og hvis der er, skal de deles ud i $tal1 = de første 5 cifre, $tal2 = de næste 5, $tal3= de sidste 2.. er det muligt?
Annonceindlæg fra Computerworld
22. januar 2006 - 15:15
#1
if(strlen($tal)== 12) { $tal1 = substr($tal,0,5); $tal2 = substr($tal,5,5); $tal3 = substr($tal,10,2); }
22. januar 2006 - 15:15
#2
if (strlen($tal) == 12 && is_numeric($tal)) { $tal1 = substr($tal, 0, 5); $tal2 = substr($tal, 5, 5); $tal3 = substr($tal, -2); }
22. januar 2006 - 15:16
#3
if(preg_match("/^(\\d{5})(\\d{5})(\\d{2})$/", $tal, $match)){ $tal1 = $match[1]; $tal2 = $match[2]; $tal3 = $match[3]; }
22. januar 2006 - 15:25
#4
Hvis du ønsker maximum performance, skal du vælge substr
22. januar 2006 - 15:31
#5
Ja, reg.exp er lidt overkill når positionerne er kendte.
22. januar 2006 - 15:34
#6
ja, men så bliver det så også kontrolleret, at $str kun indeholder tegnene 0-9
Slettet bruger
22. januar 2006 - 16:44
#7
Det gør hmortensens også.
Slettet bruger
22. januar 2006 - 16:45
#8
if(!empty($tal) && strlen($tal) == 12 && is_numeric($tal)) { $tal1 = substr($tal, 0, 5); $tal2 = substr($tal, 5, 5); $tal3 = substr($tal, -2); } Hvis $tal ikke er sat, og du ikke bruger empty eller isset, er syntaksen for din if-sætning ikke korrekt.
22. januar 2006 - 17:15
#9
tjao, is_numeric kontrollerer, om php kan omdanne strengen til et tal
http://dk.php.net/is_numeric andre tegn 0-9 kan godt indgå
Slettet bruger
22. januar 2006 - 17:51
#10
Finds whether a variable is a number or a numeric string Det ser jeg da som om, at den tjekker, om det er en streng eller et tal. Jeg er dog i tvivl om , og . vil blive valideret som en del af et tal - . gør muligvis.
Vi tilbyder markedets bedste kurser inden for webudvikling