Comparer 2 nombres php
Résolu
hipnothyze
Messages postés
47
Date d'inscription
Statut
Membre
Dernière intervention
-
hipnothyze Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
hipnothyze Messages postés 47 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Comparer 2 nombres php
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
- Whatsapp 2 - Guide
- Expert php pinterest - Télécharger - Langages
23 réponses
if($tab[$i] === $ligne)
J'aurai essayé avec == plutot
Sinon tu peux utiliser un stripos vu la compléxité de tes nombre et si tu es sure de n'avoir aucune "mauvaise" valeur, stripos($chaine, $plop) va vérifier si la chaine $plop se trouve dans $chaine et retourner FALSE si elle n'y est pas et un int si elle y est.
if (stripos("truc".$tab[$i], $ligne)) { } else { }
Ps : moi je rajoute une chaine de caractere avant le premier argument car la fonction stripos te retourne le numero du caractere a partir duquel la chaine $ligne est retrouvé dans le premier argument, par exemple stripos("test", "test") retournera 0, car "test" est similaire a "test" a partir du caractère 0, et donc fera capoter ton test car 0 est une valeur nulle.
Je sais pas si c'est 1/ bien de faire ça, 2/ clair comme explication
=== s'est pour verrifier l'egaliter et aussi l'egaliter du type de variable, mais == ca marche aussi oui
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Autant pour moi alors, je croyais que ça concernait uniquement le type de variable et non le contenu.
J'ai déjà essayé === et ==, les 2 ne fonctionne pas puisque les variable ne font pas la même taille!!
Je vais donc essayé le fonction stripos() dès que possible !!
Merci.
Je vais donc essayé le fonction stripos() dès que possible !!
Merci.
Bonjour,
Cela ne fonctionne toujours pas avec stripos()!!
cela m'affiche :"Fatal error: Call to undefined function: stripos() in C:\....."
Quelqu'un aurait une idée svp??
Merci
Cela ne fonctionne toujours pas avec stripos()!!
cela m'affiche :"Fatal error: Call to undefined function: stripos() in C:\....."
Quelqu'un aurait une idée svp??
Merci
bonjour,
c'est bien à ça que le code dois ressembler? :
si c'est bien à ça que le code dois ressembler ça fonctionne chez moi dans les deux cas...
c'est bien à ça que le code dois ressembler? :
<?php $tab = array( 002392430043, 002392430081, 002392430125, 002392460134, 002392510062, 002392520192, 002392540134, 002392580125, 002410010006, 002410020003 ); $ligne = 002410020003; /* for ($i=0;$i<sizeof($tab);$i++) { if ($tab[$i] == $ligne ) $double[$i] = 1; else $double[$i] = 0; echo $double[$i].'<br/>'; } //*/ //* for ($i=0;$i<sizeof($tab);$i++) { if (strcmp($tab[$i],$ligne) == 0 ) $double[$i] = 1; else $double[$i] = 0; echo $double[$i].'<br/>'; } //*/ ?>
si c'est bien à ça que le code dois ressembler ça fonctionne chez moi dans les deux cas...
Ba y a un petit probleme (grossier meme ), s'est que tu as commenté tes deux boucles ... donc ca ne risque pas de marche et ensuite je te conseile plutot count($tab) que sizeof($tab)
mais non il n'y a qu'une boucle de commentée
c'est plus simple pour jonglé entre les deux de cette manière
et en plus tu ne réponds pas à la bonne personne...
le code que j'ai mis au dessus fonctionne même s'il est vrai que count() aurait était plus approprié, j'ai repris son code de départ pour essayer de le comprendre et voir ce qui pouvait poser problème...
et les 2 boucles au dessus fonctionne sur php 5.3
c'est plus simple pour jonglé entre les deux de cette manière
et en plus tu ne réponds pas à la bonne personne...
le code que j'ai mis au dessus fonctionne même s'il est vrai que count() aurait était plus approprié, j'ai repris son code de départ pour essayer de le comprendre et voir ce qui pouvait poser problème...
et les 2 boucles au dessus fonctionne sur php 5.3
Ah oui merde ^^' ,
Pour les boucle oui elles sont pas commenter mais y a des //* dont tu pourrais te passer ^^ ca peu porter a confusion comme ca
Pour les boucle oui elles sont pas commenter mais y a des //* dont tu pourrais te passer ^^ ca peu porter a confusion comme ca
j'ai pris l'habitude de faire ça quand je teste plusieur truc à la fois c'est plus simple pour jongler après...
il y a même plus simple :
si on rajoute un / devant le premier /* ça met le second en commentaire et si on l'enlève c'est le premier qui y est...
il y a même plus simple :
/* code 1 /*/ code 2 //*/
si on rajoute un / devant le premier /* ça met le second en commentaire et si on l'enlève c'est le premier qui y est...
Mouais ^^ chacun ca maniere de faire apres, mais je ne suis pas trop fan ^^'
(autant pour moi donc), par contre count() je pense que s'est simple et mieux (ca ce retien facilement ^^)
(autant pour moi donc), par contre count() je pense que s'est simple et mieux (ca ce retien facilement ^^)
Merci d'avoir répondu, je cherchais de mon coté, voila pourquoi je ne répondait pas !!
Je vais tester cela et je vous redit sa o plus vite !!!
Merci encore.
Je vais tester cela et je vous redit sa o plus vite !!!
Merci encore.
bonjour,
cela ne fonctionne toujours pas car le tableau avec lequel je compare ($tab) je le récupère d'une base de données donc je ne connais pas sa taille !!
Je ne fais donc pas un array mais ceci :
while (odbc_fetch_row($result))
{
$fichier = odbc_result($result,'no_civiere');
$tab[$i] = $fichier;
$i++;
}
Et je n'arrive pas a faire fonctionner le fonction "in_array" avec mon $tab[$i]!!
Un petit coup de pouce ...
Merci d'avance
cela ne fonctionne toujours pas car le tableau avec lequel je compare ($tab) je le récupère d'une base de données donc je ne connais pas sa taille !!
Je ne fais donc pas un array mais ceci :
while (odbc_fetch_row($result))
{
$fichier = odbc_result($result,'no_civiere');
$tab[$i] = $fichier;
$i++;
}
Et je n'arrive pas a faire fonctionner le fonction "in_array" avec mon $tab[$i]!!
Un petit coup de pouce ...
Merci d'avance
Oula
pourquoi ne pas utiliser while($fichier = mysql_fetch_array($result)) { ... }
tu utilise quoi comme SGBD ?
pourquoi ne pas utiliser while($fichier = mysql_fetch_array($result)) { ... }
tu utilise quoi comme SGBD ?
je ne connais pas odbc mais si ca reviens a utiliser mysql_fetch_row()
tu peux soit faire ton test directement dans while
soit faire le tableaux comme tu le fais
ou au lieu de faire $tab[$i] = 'valeur;
tu peux faire $tab[] = 'valeur';
c'est un peut comme si tu faisais $variable .= 'suite de la chaine';
sinon perso c'est rare que je compte dans les tableaux
j'utilise :
et si j'ai vraiment besoin d'une incrémentation
le problème c'est que ça fait le teste à chaque tour mais c'est pas énorme comme test
ensuite tu peux faire
met là il y a encore un test à chaque boucle alors je ne suis pas sur de ce qui est le plus optimisé entre un test d'existence et un test d'infériorité...
en même temp on se dit que l'existance est forcément testée sinon il y a erreur donc pourquoi ne pas ce limiter à ça...
tu peux soit faire ton test directement dans while
soit faire le tableaux comme tu le fais
ou au lieu de faire $tab[$i] = 'valeur;
tu peux faire $tab[] = 'valeur';
c'est un peut comme si tu faisais $variable .= 'suite de la chaine';
sinon perso c'est rare que je compte dans les tableaux
j'utilise :
foreach($array as $key => $value); foreach($array as $value);
et si j'ai vraiment besoin d'une incrémentation
for($i = 0; isset($array[$i]); $i++);
le problème c'est que ça fait le teste à chaque tour mais c'est pas énorme comme test
ensuite tu peux faire
$arrayLenght = count($array); for($i = 0;$i < $array_lenght; $i++);
met là il y a encore un test à chaque boucle alors je ne suis pas sur de ce qui est le plus optimisé entre un test d'existence et un test d'infériorité...
en même temp on se dit que l'existance est forcément testée sinon il y a erreur donc pourquoi ne pas ce limiter à ça...