2010-06-03 8 views
1
if(0 == ('Pictures')) 
{ 
    echo 'true'; 
} 

pourquoi il me donne «vrai»?PHP comparer doute

+1

http://php.net/manual/en/language. operators.comparison.php – nuqqsa

Répondre

2

Vérifiez PHP type comparison tables de comprendre comment les opérateurs de comparaison se comportent en PHP.

Dans votre cas, 'Pictures' devient "0" et donc 0 = 0.

Let vérifier l'exemple suivant:

echo (int)'Pictures'; // 0 => 'Picture' as int 
echo 0 == 'Pictures'; // 1 => true, 0 = 0 
3

Votre chaîne sera évaluée comme un nombre entier, devient ainsi 0, utilisez ceci: 0 === 'Pictures' qui vérifie l'identité (même valeur et le même type)

0

Utilisation:

if (0 === 'Pictures') 
{ 
    echo 'true'; 
} 

Le === est opérateur de type strict , non seulement il vérifie la valeur mais aussi le type.

Test rapide:

if(0 == 'Pictures') 
{ 
    echo 'true'; 
} 
else 
{ 
    echo 'false'; 
} 

sorties true mais:

if(0 === 'Pictures') 
{ 
    echo 'true'; 
} 
else 
{ 
    echo 'false'; 
} 

sorties false