[PHP] Variable a plusieurs valeurs

Bonjour,

J'aimerai une variable qui correspond a plusieurs valeurs, j'ai fait cela mais ca marche pas :

<?php
$variable = array('mot1', 'mot2', 'mot3', 'mot4');
if($variable != mot2)
echo "<p>Erreur !</p>\n";
else {
echo "<p>Yes !</p>\n";
}
?>


Merci d'avance.

7 réponses

  1. Si tu veux vérifier qu'une entrée existe dans un array, utilise la fonction in_array (ou array_key_exists pour les array associatifs).
    <?php
    $variable = array('mot1', 'mot2', 'mot3', 'mot4');
    echo (in_array('mot2', $variable)) ? "<p>Yes !</p>\n" : "<p>Erreur !</p>\n";
    ?>
    1. Merci beaucoup, cela fonctionne parfaitement !

      Cependant, j'aime bien comprendre le code que j'utilise, je comprend tout sauf cela :
      $stream_radio = $radios[$radio];


      A quoi cela correspond ? (Je pense que c'est cela qui allait pas sur mon code, je l'avais mal fait).

      Merci d'avance.
      1. Qu'est-ce que tu ne comprends pas dans cette ligne ?
        La variable $radio entre crochets ?
        Remplace-la par la valeur qu'elle pourrait avoir et tu comprendras :)
        1. <?php
          
          $radio = htmlentities(stripslashes($_GET['radio']));
          
          $radios = array('$funradio', 'fgradio');
          
          /* FLUXS RADIOS */
          
          $funradio = 'http://radio.funradio.fr/funradio.asx';
          $fgradio = 'http://...';
          
          $stream_radio = "$radio";
          
          if(!in_array($radio, $radios))
          echo "<p>Radio non trouvé !</p>\n";
          else {
          echo "<object type=\"application/x-mplayer2\" width=\"300\" height=\"44\">\n";
          echo "<param name=\"autostart\" value=\"true\" />\n";
          echo "<param name=\"filename\" value=\"$stream_radio\" />\n";
          echo "</object>\n";
          }
          
          ?>


          Dans ce code, j'aimerai que quand on mais ?radio=lenom sa récupère dans le array et après que sa récupère dans la liste de radio, mais cela ne marque pas :s

          Comment faire ? Merci d'avance.
          1. Essaye avec ça :
            <?php
            
            $radio = htmlentities(stripslashes($_GET['radio']));
            $radios = array(
            	'funradio' => 'http://radio.funradio.fr/funradio.asx',
            	'fgradio' => 'http://...'
            );
            
            if(array_key_exists($radio, $radios)) {
            	$stream_radio = $radios[$radio];
            	
            	echo '<object type="application/x-mplayer2" width="300" height="44">'."\n";
            	echo '<param name="autostart" value="true" />'."\n";
            	echo '<param name="filename" value="'.$stream_radio.'" />'."\n";
            	echo '</object>'."\n";
            } else
            	echo "<p>Radio non trouvé !</p>\n";
            ?>