Comment gérer l'opérateur "ou" en php

Résolu
lynayanami Messages postés 39 Statut Membre -  
elgazar Messages postés 5776 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je n'ai pas trouvé de solution simple pour gérer le "ou" en php. En fait je voudrais définir dans mon blog que par exemple les catégories 10, 15 et 11 ont une couleur de fond rouge. J'ai essayé "||" mais cela affecte la couleur à d'autres catégories.

Comment faire sans les distinguer ligne par ligne ?


<?php if(is_category('4') ):
$bg=vert;
elseif (is_category('10')||('15')||('11') ):
$bg=rouge;
else :
$bg=orange;
endif; ?>

3 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Le "ou" en PHP se comporte comme dans les autres langages, du moins ceux que je connais.
    C'est une opération entre variable booléennes, c'est à dire vraies ou fausses.
    Quand tu écris
    is_category('10')||('15')||('11')
    , tu fais un "ou" entre 3 choses :
    is_category('10')
    ,
    ('15')
    et
    ('11')
    .
    Je ne sais pas ce que vaut la première, je suppose qu'elle vaut 'vrai' si une certaine catégorie vaut '10' et 'faux' sinon.
    Mais '15' et '10' sont toujours vrais en php, car ils ne valent pas 0. Et un 'ou' avec quelque chose de toujours vrai est toujours vrai.
    Je suppose que ce que tu voulais écrire, c'était
    is_category('10')||is_category('15')||is_category('11')
    1
  2. elgazar Messages postés 5776 Date d'inscription   Statut Membre Dernière intervention   1 330
     
    on peut écrire tout simplement
    is_category (array (10, 15, 11))

    comme expliqué dans la page du codex wordpress
    codex.wordpress.org/fr:Marqueurs_conditionnels
    1
  3. lynayanami Messages postés 39 Statut Membre 1
     
    Oui c'est bien ça, j'essaie peu à peu d'avoir la logique php :) Merci !
    0
    1. Utilisateur anonyme
       
      De rien :)
      Mais ça n'est pas une logique propre au php.
      0