is_numeric es la única funcion que sirve para ver si un string numérico es numerico.
Para comprovar si una cadena es numerico, usan la configuración de localeconv();
Compruebalo
Código PHP:
<?
$var[] = '27,60';
$var[] = '27.61';
$var[] = 27.62;
echo('<pre>');
print_r(localeconv());
echo('</pre>');
setlocale(LC_NUMERIC,'es');
echo('<pre>');
print_r(localeconv());
echo('</pre>');
foreach ($var as $val) {
if (is_numeric($val)) echo($val.' és numerico <br>');
}
?>
Resultado:
Cita: Array
(
[decimal_point] => .
[thousands_sep] =>
[int_curr_symbol] =>
[currency_symbol] =>
[mon_decimal_point] =>
[mon_thousands_sep] =>
[positive_sign] =>
[negative_sign] =>
[int_frac_digits] => 127
[frac_digits] => 127
[p_cs_precedes] => 127
[p_sep_by_space] => 127
[n_cs_precedes] => 127
[n_sep_by_space] => 127
[p_sign_posn] => 127
[n_sign_posn] => 127
[grouping] => Array
(
)
[mon_grouping] => Array
(
)
)
Array
(
[decimal_point] => ,
[thousands_sep] =>
[int_curr_symbol] =>
[currency_symbol] =>
[mon_decimal_point] =>
[mon_thousands_sep] =>
[positive_sign] =>
[negative_sign] =>
[int_frac_digits] => 127
[frac_digits] => 127
[p_cs_precedes] => 127
[p_sep_by_space] => 127
[n_cs_precedes] => 127
[n_sep_by_space] => 127
[p_sign_posn] => 127
[n_sign_posn] => 127
[grouping] => Array
(
[0] => 3
)
[mon_grouping] => Array
(
)
)
27,60 és numerico
27,62 és numerico