Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Leguim en 9 Septiembre 2019, 02:53 am



Título: [Resulto]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: Leguim en 9 Septiembre 2019, 02:53 am
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.


Título: Re: [Pregunta]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: MinusFour en 9 Septiembre 2019, 03:51 am
¿Que es lo que esperas que haga strlen? Puedes usarlo para contar digitos en números enteros.


Título: Re: [Pregunta]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: @XSStringManolo 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);

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.


Título: Re: [Pregunta]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: MinusFour en 9 Septiembre 2019, 15:10 pm
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...


Título: Re: [Pregunta]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: @XSStringManolo en 9 Septiembre 2019, 16:15 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
Qué bueno!


Título: Re: [Pregunta]: ¿"strlen" o "mb_strlen" sirven para valores numéricos?
Publicado por: Leguim en 24 Septiembre 2019, 18:38 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!