[Resulto]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?

Iniciado por Leguim, 9 Septiembre 2019, 02:53 AM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Sencillamente eso, si las funciones de php "strlen" o "mb_strlen" sirven para los valores numéricos"?




Mod: Temas sobre PHP van al subforo de PHP.

MinusFour

¿Que es lo que esperas que haga strlen? Puedes usarlo para contar digitos en números enteros.

@XSStringManolo

Si la función se llama strlen que viene de string y length... Diría que no sirve para contar números enteros. Nunca probé. Si sirve debería poder contar literales y valores enteros contenidos en una variable. Haz la prueba a ver que te sale. Si no va siempre puedes hacer un cast para contar los dígitos:
$digitosDeEntero = strlen((string)$Entero);

Si lo vas a usar para automatizar algo tienes is_numeric, is_int y is_string. Para strip de caracteres y contarlos con strlen antes de castear, o lo que sea. Ten cuidado con los tamaños.

MinusFour

Cita de: string Manolo en  9 Septiembre 2019, 05:59 AM
Si la función se llama strlen que viene de string y length... Diría que no sirve para contar números enteros. Nunca probé. Si sirve debería poder contar literales y valores enteros contenidos en una variable. Haz la prueba a ver que te sale. Si no va siempre puedes hacer un cast para contar los dígitos:
$digitosDeEntero = strlen((string)$Entero);

PHP hace casting de números a strings cuando es necesario:

Citar
A value can be converted to a string using the (string) cast or the strval() function. String conversion is automatically done in the scope of an expression where a string is needed.

https://www.php.net/manual/en/language.types.string.php#language.types.string.casting

De todas maneras, si quieres contar los digitos tienes que tener cuidado con cosas como floats, números negativos, notación científica, etc. Los floats agregan un punto, los números negativos usan un "-", los números en notación científica se tragan 0s...


Leguim

Cita de: MinusFour en  9 Septiembre 2019, 15:10 PM
PHP hace casting de números a strings cuando es necesario:

https://www.php.net/manual/en/language.types.string.php#language.types.string.casting

De todas maneras, si quieres contar los digitos tienes que tener cuidado con cosas como floats, números negativos, notación científica, etc. Los floats agregan un punto, los números negativos usan un "-", los números en notación científica se tragan 0s...

¡Muchas gracias a los dos!