Jeśli umieściłem * w moim wyrażeniu, to nie działa, jeśli wstawię +, to działa.PHP Regex (inny wynik między + i *)
*
powinno oznaczać 0 lub więcej, +
powinno oznaczać 1 lub więcej.
Case z *
$num = ' 527545855 ';
var_dump(preg_match('/\d*/', substr($num, 0, 18), $coincidencias));
var_dump($coincidencias);exit;
Wynik:
int(1)
array(1) {
[0]=>
string(0) ""
}
Case z +
$num = ' 527545855 ';
var_dump(preg_match('/\d+/', substr($num, 0, 18), $coincidencias));
var_dump($coincidencias);exit;
Wynik:
int(1)
array(1) {
[0]=>
string(9) "527545855"
}
Myślałem, że oba powinny działać, ale nie rozumiem, dlaczego * nie działa.
Dobre pytania: D –
Dlaczego 'substr'? Możesz po prostu przekazać '$ num'. – nhahtdh
Spróbuj i zobacz, co się stanie, gdy użyjesz 'preg_match_all()' zamiast ... –