A czy: 0,,,,,,,,0 jest poprawnym ciągiem? Bo pasuje to do tego wyrażenia.
Na podstawie tych przykładów ciężko jest określić jaki ma być wzorzec. Określ dokładnie format danych. Czy pierwsza liczba musi być jednocyfrowa, czy w ogóle musi pojawić się przecinek itp.
arzach
31.10.2010, 19:49:40
Chodzi mi o to że chce to wykorzystać w zapytaniu w postaci
WHERE user_id IN (12,54) itp
Ciąg musi się składać z dowalonych cyfr oddzielonych przecinkiem
Np.
345,5665
Może się też zdarzyć że może być tylko jedna liczba
Np. 445
potreb
31.10.2010, 19:55:34
Również można zastosować: preg_match('#^[0-9,]*$#', $a, $m); chyba krócej? Różnie można napisać.
Crozin
31.10.2010, 19:58:13
W takim razie poprawnym wyrażeniem będzie: #^\d+(?:,\d+)*$#
Również można zastosować: preg_match('#^[0-9,]*$#', $a, $m); chyba krócej? Różnie można napisać.
No to tez nie do końca działa bo przepuszcza 0 i także np. ,,,0,,32,21,312,,,321,312,
Crozin
31.10.2010, 20:05:12
Akurat zero, wartości ujemne (nawet w przypadku, gdy kolumna jest typu UNSIGNED) czy liczby wykraczające poza zakres typu LONG (np. 50 dziewiątek) nie powodują błędu - po prostu rekord o danym ID nie zostanie odnaleziony.
Testowałem to tylko pod MySQL ale obstawiam, że w przypadku innych baz danych jest tak samo.
arzach
31.10.2010, 20:06:54
Dziękuje bardzo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.