Rechercher : dans
Par :

[php] comparaison de fichiers textes

Dernière réponse le 5 avr 2009 à 22:57:35 papyrus, le 5 avr 2009 à 22:11:41 
 Signaler ce message aux modérateurs

Bonjour,
je débute en php et pour m'entraîner, je me suis attelée à l'élaboration d'un site qui aurai pour but de comparer deux fichiers.

pour faciliter les choses, j'ai "converti" mes deux fichiers en tableaux $tab et $tab2 à l'aide de la fonction explode. J'affiche mes tableaux et tout se passe bien.

maintenant je veux comparer chaque "case" de mon tableau.
j'ai utilisé ceci :

for($i =0; $i <= sizeof($tab); $i++) {
     for($j =0; $j <= sizeof($tab2); $j++) {
          if ($tab==$tab2) {
               echo "youpi!";
	       }
	}
}


le problème c'est que sur ma page "youpi" s'affiche à l'infini, que les tableaux soient identiques ou différents.
en somme ma fonction ne sert à rien.

Avez vous une idée d'ou vient le problème?
merci
Configuration: Windows
firefox 3

Meilleures réponses pour « [php] comparaison de fichiers textes » dans :
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Affichage de texte sur le navigateur VoirLe but de PHP est de permettre la création de pages web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur. Les trois fonctions standards PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces...
Apache - Les fichiers .htaccess VoirLes fichiers .htaccess sont des fichiers de configuration d'Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n'ont pas de tel fichier à l'intérieur). On peut les utiliser pour protéger un répertoire...

1

Adenora, le 5 avr 2009 à 22:31:13

Bonsoir,
Essaye-ceci :

if (sizeof($tab)==sizeof($tab2)) {
      for ($i=0;$i<=sizeof($tab);$i++) {
             if ($tab[$i]==$tab2[$i]) {
                   echo "Youpi";
             }
             else { echo "Pas youpi"; }
     }
}


Tu peux utiliser aussi un foreach. D'ailleurs, c'est peut être ce qui est le plus conseillé.

Répondre à Adenora

2

papyrus, le 5 avr 2009 à 22:53:44

Merci adenora
j'ai essayé mais ça n'affiche rien. plus un youpi...

j'ai supprimé

if (sizeof($tab)==sizeof($tab2)) {
car a priori mes deux tableaux n'ont pas la même taille (c'est bien ça sizeof ?)

j'ai tenté ca :

if (sizeof($tab)==sizeof($tab2)) {
      for ($i=0;$i<=sizeof($tab);$i++) {
             if ($tab[$i]==$tab2[$i]) {
                   echo "Youpi";
             }
             else { echo "Pas youpi"; }
     }
}


c'est un peu mieux, maintenant ça m'affiche "youpi" quand le texte est strictement identique.

j'ai essayé les foreach, mais visiblement je ne sais pas l'utiliser. je vais creuser de ce coter.

Répondre à papyrus

3

 Adenora, le 5 avr 2009 à 22:57:35

if (sizeof($tab)==sizeof($tab2)) 
sert effectivement pour comparer la taille des deux tableaux. Je ne savais pas justement si tes tableaux devaient avoir la même taille ou pas.

Répondre à Adenora