Por qué strcmp() me regresa 32?

  • Autor Autor dralexguemez
  • Fecha de inicio Fecha de inicio
D

dralexguemez

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola colegas,

Estoy aprendiendo PHP y según la función strcmp(var1,var2), debe retornar un 1 o 0.

Sin embargo, cuando lo corro en mi servidor me regresa un 32.

Agradezco si me pueden informar si hay algún error o como es la cosa.

Gracis!
 
porque la funcion devuelve mayor a 0 no quita que sea exactamente 1 ,si un string es mayor que otro ademas los parámetros aportados a la función deben ser Strings. En caso de que algún parámetro no sea una cadena de texto, el resultado que devuelve la función puede ser impredecible.

Prueba con otras palabras que devuelva correctamente
 
Te recomiendo
php.net
y
w3schools

No se donde leiste que debe retornar un 1 y 0

en php.net claramente dice:
devuelve MENOOOOR a 0
Devuelve < 0 si str1 es menor que str2;
ó devuelve MAYOOOR a 0
Dvuelve > 0 si str1 es mayor que str2
ó devuelve un 0
y 0 si son iguales.
 
Para php, no te separes de php.net, todo está allí bien explicado, aunque desde luego, es posible que alguna explicación por falta de conocimientos previos no la comprendas.

En esos casos en los que no se comprende del todo con la explicación por falta de conocimientos, por ejemplo, si intentas aplicar operadores a nivel de bits, sin saber hacer tu manualmente esas operaciones, puede que te sea de ayuda lo que hay en las notas o incluso la misma comprensión de la sintaxis de la descripción por ejemplo, en este caso:

wj9iIeS.png


Ahí puedes leer claramente que devuelve un entero, o sea, puede devolver números positivos, negativos y 0. Así que no tienen nada de raro que te devuelva 32 o cualquier otro número sea positivo o negativo.

kj
 
Atrás
Arriba