[PHP] Variable a plusieurs valeurs

Aidezz-moi -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
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. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  2. Aidezz-moi
     
    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.
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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 :)
    0
  4. Aidezz-moi
     
    <?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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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";
    ?>
    -1