Erreur dans les conditions avec PHP

Résolu
the Red -  
 the Red -
Bonjour,

J'ai un problème avec le PHP, mais je vois vraiment pas d'où ça peut venir

J'ai le code suivant, qui détermine bien où je dois aller, avec des echo un peu partout pour tracer le parcours. Comme vous pouvez le constater, il y a de grosses incohérences : il va dans des conditions alors qu'il ne devrait pas y aller, et je ne comprends vraiment pas pourquoi ...

$tab = Travaille::findByService($ser->getattr('id_service'));
echo 'taille de tab = '.sizeof($tab);
$tab2 = Domaine::findByService($ser->getattr('id_service'));
echo 'taille de tab2 = '.sizeof($tab2);
if (sizeof($tab2)>1) {
foreach ($tab2 as $t) {
if (!in_array($t,$tab)){
$tab[] = $t;
echo 'tab2 a plusieurs elements : '.sizeof($tab2);
}
}
}
if (sizeof($tab2==1)){
if (!in_array($tab2[0],$tab)){
$tab[] = $tab2[0];
echo 'tab2 a un seul element '.sizeof($tab2).' = '.$tab2[0].'et tab[1] = '.$tab[1];
}
}
if (sizeof($tab2==0)){
$tab = $tab;
echo 'tab2 a aucun element '.sizeof($tab2);
}
$body .= "<tr height=\"35px\"><td><center>";
$n = 0;
print_r($tab);

taille de tab = 1
taille de tab2 = 1
tab2 a un seul element 1 = 1
et tab[1] = 1
tab2 a aucun element 1
Array ( [0] => 2 [1] => 1 ) 21

taille de tab = 2
taille de tab2 = 1
tab2 a aucun element 1
Array ( [0] => 1 [1] => 0 ) 10

taille de tab = 2
taille de tab2 = 0
tab2 a un seul element 0 = et tab[1] = 1
tab2 a aucun element 0
Array ( [0] => 0 [1] => 1 [2] => ) 01

J'espère que quelqu'un pourra m'aider !

1 réponse

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Regarde tes parenthèses !
if(sizeof($tab2==1)){
et
if (sizeof($tab2==0)){

Y a pas un truc qui te parait bancal ? ;)

Allez, courage, je sais ce que c'est de plus rien voir tellement on a passé du temps sur de code :p

Reivax
0
the Red
 
Rhaaaa que ça fait mal !

Duis combien de temps je m'arrache les cheveux avec ça ? 2 heures ?

Merci beaucoup, je pense que j'aurais jamais trouvé, ou bien peut être à tête reposée, mais là ...

Merci beaucoup !
0