Création fonction PHP

Résolu/Fermé
stanac Messages postés 53 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 3 mai 2015 - Modifié par stanac le 19/12/2012 à 22:56
dannydouby Messages postés 138 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 1 juin 2013 - 28 déc. 2012 à 03:03
Bonjour,

Je ne fais que débuter en PHP. Je voudrais créer une fonction mais pour cela j'aimerais que vous disiez, sans me donner la réponse, ce dont j'ai besoin pour réussir à la faire. En effet, je ne connais pas vraiment toutes les possibilités de ce langage et j'ai besoin de savoir au moins de quel côté cherché.

Voici ce que je voudrais faire :

J'ai préalablement récupéré 4 chaines de caractères dans ma bdd que j'ai transformé en variables :

$variable1 = 'truc;
$variable2 ='machin';
$variable3 = 'bidule';
$variable4 = 'chouette';

La fonction doit, par rapport à la chaine de caractères contenu dans chacune des variables, assigner une autre variable relative. Par exemple :

"Si $variable1 = 'truc' alors $variable_relative_à_variable1 est $var1"

La fonction doit renvoyer, dans un array par exemple, les variables relatives à chacune des 4 variables.

Pour l'instant j'ai fait ça :

<?php 

function Couleur ($genre) 
{ 

$genre = 'un'; 

 switch ($genre) 
   {  
     
    case 'un': 
     $couleur = 'rgba(173, 145, 188, 0.8)'; 
    break; 
     
    case 'deux': 
     $couleur = 'rgba(108, 120, 123, 0.8)'; 
    break; 
     
    default: 
     $couleur = 'grey'; 
   } 
    
  return array ($couleur0); 
} 

list ($couleur) = Couleur (); 
echo "$couleur";


Le problème c'est qu'il faudrait que $genre ne soit pas fixe mais puisse prendre les valeurs $variable1 (on retourne le résultat pour cette variable) puis $variable2 (résultat), etc.

J'espère que je suis clair sinon n'hésitez pas à me poser des questions.

Merci.

5 réponses

dannydouby Messages postés 138 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 1 juin 2013 6
20 déc. 2012 à 06:54
moi aussi j'ai du faire quelque chose de ce genre avec les variable et j'ai trouver une solution, je vais te donner un indice: tu peux faire $variable+$i = quelque_chose; .

en esperant de te mené dans la bonne voix. laisse un autre message si tu n'as pas compris
0
stanac Messages postés 53 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 3 mai 2015
20 déc. 2012 à 17:00
J'ai réussi à faire quelque chose de convenable :

<?php
$_taille_tab_genre = 4;
$tab_genre = array();

	for ($nombre = 0; $nombre <= 3; $nombre++)
	{
		$tab_genre[$nombre] = 'genre'.$nombre;	

			 switch ($tab_genre[$nombre]) 
			   {  
				 
				case 'genre1': 
				 $couleur = 'blue'; 
				break; 
				 
				case 'genre2': 
				 $couleur = 'red'; 
				break; 
				 
				default: 
				 $couleur = 'grey'; 
			   } 

		echo $tab_genre[$nombre].' vaut :' . $couleur.'<br />';
	}
?>


Est-ce la bonne façon de faire ?
0
dannydouby Messages postés 138 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 1 juin 2013 6
21 déc. 2012 à 02:47
il y a plusieurs façon de faire ce que tu veux faire, mais ce que je sais, c'est que lorsque ton code fonctionne, il est bon. peut importe la façon dont tu l'a bati, aussi longtemps qu'il fonctionne, c'est bon. c'est ce que mon prof d'informatique m'a appri.

PS. à la place d'utiliser $nombre, utilise $i. c'est ce que la mageur partie des programmeur utilise pour leurs boucles de répétition.
0
stanac Messages postés 53 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 3 mai 2015
21 déc. 2012 à 12:07
C'est une bonne philosophie !
0

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

Posez votre question
dannydouby Messages postés 138 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 1 juin 2013 6
28 déc. 2012 à 03:03
merci...mais, oui si le code fonctionne, c'est bon, mais il faut être sur pour ne pas que tu te fasse hacker à cause de variable non checker dans ton programme...rendu là c'est plus compliquer mais, quand on devient proffessionnel, il faut en tenir compte.
0