2010-08-17 10 views

Respuesta

93

Sí, == distingue entre mayúsculas y minúsculas.

Puede utilizar strcasecmp para el caso de la comparación insensible

+4

pregunta útil y respuesta útil ... gracias;) –

11

Sí, == entre mayúsculas y minúsculas.

Por cierto, para un no caso comparar sensibles, utilizar strcasecmp:

<?php 
    $var1 = "Hello"; 
    $var2 = "hello"; 
    echo (strcasecmp($var1, $var2) == 0); // TRUE; 
?> 
+0

(No pude evitarlo^_ ^.) – Stephen

18

Sí, pero hace una comparación byte a byte.

Si está comparando cadenas Unicode, es posible que desee normalizarlas primero. Vea la clase Normalizer.

Ejemplo (salida en UTF-8):

$s1 = mb_convert_encoding("\x00\xe9", "UTF-8", "UTF-16BE"); 
$s2 = mb_convert_encoding("\x00\x65\x03\x01", "UTF-8", "UTF-16BE"); 
//look the same: 
echo $s1, "\n"; 
echo $s2, "\n"; 
var_dump($s1 == $s2); //false 
var_dump(Normalizer::normalize($s1) == Normalizer::normalize($s2)); //true 
+3

+1 para comprender que en realidad no es una comparación de cadenas (es una comparación binaria). Por lo tanto, técnicamente no distingue entre mayúsculas y minúsculas (aunque en el 99.999% de los casos se comporta de la misma manera) ... – ircmaxell

8

== mayúsculas y minúsculas Sí,

para comparar cadenas insensible, puede utilizar cualquiera strtolower($x) == strtolower($y) o strcasecmp($x, $y) == 0

0

Sí, == entre mayúsculas y minúsculas. La forma más fácil para mí es convertir a mayúsculas y luego comparar. En la instancia:

$var = "Hello"; 
if(strtoupper($var) == "HELLO") { 
    echo "identical"; 
} 
else { 
    echo "non identical"; 
} 

¡Espero que funcione!

Cuestiones relacionadas