Page 1 sur 2

modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 14:49
par stef31
Bonjour à tous

je souhaite créer une condition :

Code : Tout sélectionner

if ($row != 0){}
seulement je ne connais pas la variable $row à l'avance, donc je souhaiterai pouvoir modifier ma condition comme ceci s'il y a une autre ligne :

Code : Tout sélectionner

if ($row != 0 && $row !=1){}
mais je ne sait pas comment faire, quelqu'un à une idée ?

je ne veux changer que ce qui se trouve entre parenthèse, ce serait trop long sinon, merci, stef

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 14:53
par or 1
pas compris
si if ($row != 0 && $row !=1) fait le job, pourquoi ne pas mettre directement ceci ?

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 14:55
par stef31
parce que je ne connais pas les variables $row à rajouter à l'avance si ça se trouve ce sera if ($row != 0 && $row !=1 && $row !=255 )

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 14:58
par Saian
Salut, ce que tu veux faire n'est pas clair du tout.
if (($line == 0 && $row != 0) || ($line > 0 && $row != 0 && $row != 1)) {}

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:00
par Saian
parce que je ne connais pas les variables $row à rajouter à l'avance si ça se trouve ce sera if ($row != 0 && $row !=1 && $row !=255 )
et donc ce "si ça se trouve" dépend de quoi ?

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:03
par stef31
je m'explique peut-être mal , je vais donc reformuler

J'ai un certain nombre de lignes à supprimer
chaque ligne à supprimer correspond à une variable dénommée $row

Je dois afficher un texte en enlevant les lignes à supprimer.

Ainsi ma condition if ($row != 0) doit changer selon les lignes à supprimer,

est ce que quelqu'un sait comment faire ?

Merci

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:04
par Saian
Manque encore quelque chose dans ta formulation. En fonction de quoi telle ou telle ligne doit-elle être supprimée ?

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:05
par stef31
Le "si ça se trouve ne t'aidera pas", je vais te donner un code très complexe qui ne te sera d'aucune utilité pour la question posée , mais si tu veux savoir ok :

je parcours un fichier csv, dans chaque ligne (excepté l'entête") je regarde si les champs sont remplis, si dans une seule ligne il n'y a pas assez de champs remplis je considère que la ligne doit être supprimée .

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:07
par Saian
Bah dans ce cas pour chaque ligne tu vérifies si ce qui doit être rempli l'est et tu n'affiches la ligne que si c'est le cas.
foreach ($rows as $row) {
    if (/* colx non vide && coly non vide && ... */) {
        // afficher la ligne...
    }
}

Sinon
$linesToSkip = [0,1,255];
foreach ($rows as $i => $row) {
    if (!in_array($i, $linesToSkip)) {
        // afficher la ligne...
    }
}

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:11
par stef31
c'est ce que je souhaite faire et c'est un topic d'aide où je demande comment faire
le problème c'est que je ne peux pas faire quelque chose du genre

$row_test != 0 .= && $row != 12

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:12
par Saian
C'est pas la ligne que tu dois tester ce sont les infos de la ligne... tu les récupères comment ?

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:12
par stef31
comme je le dis je ne sais pas à l'avance ce que je dois écrire entre les parenthèses (je ne sais pas quelles seront les lignes à enlever c'est aléatoire)

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:14
par Saian
foreach ($rows as $row) {
    if ($row['col1quidoitpasetrevide'] !== '' && $row['col2quidoitpasetrevide'] !== '' /* && etc */) {
        // afficher la ligne...
    }
}

Fais un effort au lieu de te braquer.

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:15
par stef31
Je les ai mis dans une variable qui a cette forme $ligne_a_supprimmer = 5-9-8-25-63;
$sup_lignes = explode("-", $ligne_a_supprimmer);

et puis là je les ai toutes

Re: modifier une condition en fonction d'un autre condition

Posté : 05 mai 2023, 15:16
par stef31
non je crois que tu ne comprends pas : je ne connais pas les rows à l'avance, ce qui implique que je ne peux pas écrire ($row1 && $row2)
car pour écrire ($row1 && $row2) il faut avoir qu'il y a 2 $rows seulement