in_array() ne fonctionne pas
Mon code:
<?php
$pass = "12345";
//checkPass($pass, $user, $length);
$file = file_get_contents("common.txt");
$array = explode("\n", $file);
if(in_array($pass, $array) == true) {
echo "it's in the array";
}
?>
premières lignes du tableau (j'ai utilisé print_r($array)...):
Array ( [0] => 12345 [1] => abc123 [2] => mot de passe [3] => ordinateur [4] => 123456 [5] => tigrou [6] => 1234 [7] => a1b2c3 [8] => qwerty [9] => 123 [10] => xxx [11] => argent [12] => test [13] => carmen [14] => mickey [15] => secret [16] => l'été [17] => internet [18] => service [19] => canada [20] => bonjour [21] => ranger [22] => l'ombre [23] => baseball [24] => donald [25] => harley [26] => hockey [27] => letmein [28] => maggie [29] => mike [30] => mustang [31] => snoopy
- Vous pouvez poster où vous définissez $pass égal à sa valeur à l'époque?
- C'est au début du fichier, juste après la balise d'ouverture PHP. J'ai essayé de l'éditer tous les ci-dessus, mais quelque chose ne fonctionne pas droit.
Vous devez vous connecter pour publier un commentaire.
Si votre fichier utilise Windows mais les sauts de ligne (lignes fin en
\r\n
), vous aurez une invisible\r
de caractère à la fin de chacun de vos chaînes. Test en cours d'exécution strlen() sur l'un d'eux:Si vous obtenez quelque chose comme
Vous savez que c'est le problème! Vous pouvez vous débarrasser de ces personnages après l'explosion de la matrice à l'aide de
array_map()
avectrim()
:Voici ce que j'ai trouvé qui fonctionnait:
vous souhaiterez peut-être utiliser
trim
sur que trop. pourrait être invisible caractères que vous ne voyez pas à l'œil.est $pass d'une valeur de 0 - 31?