Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Podział tekstu na 2 wartości, np. "5-20" na [5,20] albo "-20-50" na [-20,50]
MatKus
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


Witam

Mam chyba zaćmienie albo już mi się mózg wyłączył, ale nie mogę wymyślić, jak w jakiś w miarę łatwy sposób podzielić tekst na 2 wartości.

Chodzi o zakres danych.
Otrzymuję daną np. "10-20", więc robię explode po minusie i dostaję tablocę [10,20]
Problem, gdy jedna albo obie liczby są ujemne.
dostaję więc tekst "-10-20" i powinienem dostać [-10,20]
albo dostaję tekst "-50--20" lub "-50 - -20" i powininem dostać [-50,-20]

Jakoś łatwo to da się załatwić bez pisania większej funkcji? preg_split jakiś? albo może jeszcze jakoś łatwiej? Bo nie chce mi się pisać funkcji, która to będzie po znaku analizowała jakimś FORem.

Ten post edytował MatKus 25.06.2014, 13:51:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Nie łatwiej zmienić separator np. na ; ?

Ewentualnie spróbuj:
  1. sscanf($subject,"%d-%d",$a,$b);

Edit: błąd ortograficzny (IMG:style_emoticons/default/ohmy.gif)

Ten post edytował redeemer 25.06.2014, 17:25:00
Go to the top of the page
+Quote Post
MatKus
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


Dzięki.

Niestety separatora nie mogę zamienić, bo to są dane, które już mam dostarczone i nie mam na to wpływi (IMG:style_emoticons/default/sad.gif)

Ostatecznie kod wygląda u mnie tak:
  1. list($value1,$value2) = sscanf(str_replace(' ', '', $value), "%d-%d");


Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 22:51