webForumDet fria alternativet

explode ????

5 svar · 308 visningar · startad av andsj0

andsj0Medlem sedan aug. 200419 inlägg
#1

jag har en lista på lite prylar i en mysql databas.
Resultatet från fältet prod kan se ut som följande:

bildel011
bildel026
bildel009

tillbehor129
tillbehor088
tillbehor116

Finns det något smidigt sätt att dela upp detta så jag får siffrorna
i en variabel och produktnamnet i en annan.

Just nu har jag hela namnet i en variabel som heter $produkt.

/andsj0

PeeerMedlem sedan mars 20025 907 inlägg
#2

Är det alltid 3 siffror i slutet av strängen? Titta isf på http://se.php.net/substr

andsj0Medlem sedan aug. 200419 inlägg
#3

Ok, det ser ut att funka till viss del. Men hur får jag fatt i siffrorna?
Jag behöver även dessa och fattar inte riktigt hur jag får tag på dom.

/andsj0

RocketMedlem sedan feb. 2000372 inlägg
#4

Använd substr() för att plocka ut de tre sista tecknen och lägga dem i en ny sträng. Denna strängen innehåller nu bara siffror och du kan få den integer som dessa representerar med hjälp av intval().

$text = "tillbehor129";
$temp = substr($text, strlen($text)-3, strlen($text));
$value = intval($temp);
MatteMedlem sedan aug. 20002 975 inlägg
#5

Det borde även gå att göra så här:

preg_match("/(.*?)(\d{3})/", $produkt, $match);

list(, $namn, $nummer) = $match;

Men som Rocket påpekade, $nummer blir här en sträng som kan ha en nolla i början. För att få det till ett tal använd intval().

andsj0Medlem sedan aug. 200419 inlägg
#6

Nu ser det ut att fungera som jag tänkt mig.
Tack för hjälpen.
/andsj0

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)