[PHP] Variable a plusieurs valeurs

Fermé
Aidezz-moi - 31 mai 2010 à 19:54
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 2 juin 2010 à 14:35
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

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
31 mai 2010 à 20:08
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.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
2 juin 2010 à 14:35
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
<?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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Up...
-1
...
-1
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
1 juin 2010 à 17:04
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