Un Array de débutant

Eléphant du PHP | 69 Messages

27 janv. 2010, 21:19

Bonjour ,

Jexplique mon probleme, j'ai 5 valeurs :
$c_v_1 = "";
$c_v_2 = "Rouge";
$c_v_3 = "";
$c_v_4 = "";
$c_v_5 = "Noir";

c'est 5 valeurs changent régulierement et souvent elles sont vide !
Ce que je veux faire c'est de les envoyé dans un Array pour qu'il sélection seulement ceux qui sont remplie d'une valeur par exemple "Rouge" et les autre on les oublie.
Ensuite on redirige ceux qui sont plaine vers une nouvelle valeur comme ce qui donnerais :
$conteneur_1 = "Rouge";
$conteneur_2 = "Noir";

Je suis Vraiment débutant et j'ai fais des recherches sur les Arrays et je ne comprend pas comme je pourrais faire sa :s
Alors jaurais besoin d'un coup de pouce :)

Merci !

ViPHP
ViPHP | 5462 Messages

27 janv. 2010, 21:37

array_unique limite

edit : non c'est naze essaye ca plutot
array_diff($array, array(''));

Eléphant du PHP | 69 Messages

28 janv. 2010, 01:04

Pourrais-je avoir une petite exemple ? :( jai été voir la fonction et jcomprend pas plus :roll:

ViPHP
ViPHP | 5462 Messages

28 janv. 2010, 01:34

Pourrais-je avoir une petite exemple ? :( jai été voir la fonction et jcomprend pas plus :roll:
il va te retourner la liste de tout ce qui n'est pas egale a rien.

ViPHP
AB
ViPHP | 5818 Messages

28 janv. 2010, 02:20

Si on suis ce que tu dis, on peut faire ça :
$c_v_1 = "";
$c_v_2 = "Rouge";
$c_v_3 = "";
$c_v_4 = "";
$c_v_5 = "Noir";


$tab = compact("c_v_1", "c_v_2", "c_v_3", "c_v_4", "c_v_5");

$tab = array_filter($tab);

$tab_key = array('conteneur_1','conteneur_2','conteneur_3','conteneur_4','conteneur_5');

$tab_key = array_slice($tab_key,0,count($tab));

$tab = array_combine ($tab_key , $tab);

//Vérification
echo '<pre>';
print_r($tab);
echo '</pre>';
Enfin... c'est pas vraiment débutant, peut-être que tu voulais dire autre chose.
Sinon si c'est juste pour enlever les éléments vides d'un tableau, il y a array_filter (sans fonction utilisateur) qui est prévu pour ça.

Eléphant du PHP | 69 Messages

28 janv. 2010, 02:32

c'Est exactement ce qu'il me faut.. mais je comprend pas les codes 8-| !!
Hihi .. je suis très curieux et je me demandais si tu pouvais traduire les étapes pour que je comprenne la logique :)

Aussi .. si je veux sortire conteneur_1 dans une variable exemple $conteneur_1 je m'y prend comment ?

EDIT : j'ai réussi !!!

echo $tab[conteneur_1]; // Rouge

$conteneur_1 = $tab[conteneur_1];

:)

ViPHP
AB
ViPHP | 5818 Messages

28 janv. 2010, 02:44

$c_v_1 = "";
$c_v_2 = "Rouge";
$c_v_3 = "";
$c_v_4 = "";
$c_v_5 = "Noir";

//Passe les variables dans un tableau
$tab = compact("c_v_1", "c_v_2", "c_v_3", "c_v_4", "c_v_5");

//Supprime les éléments vides
$tab = array_filter($tab);

//Crée un tableau de clé pour remplacement 
$tab_key = array('conteneur_1','conteneur_2','conteneur_3','conteneur_4','conteneur_5');

//Coupe le tableau de clés à la longueur du tableau $tab pour éviter des erreurs dans la fonction array_combine suivante
$tab_key = array_slice($tab_key,0,count($tab));

// Fait un tableau avec les clés de $tab_key et les valeurs de $tab
$tab = array_combine ($tab_key , $tab);

//Vérification
echo '<pre>';
print_r($tab);
echo '</pre>';
Tu n'a qu'à cliquer sur les fonctions, ça te renverras directement sur le manuel pour plus d'explications :)

Et n'oublies pas de cliquer sur résolu :wink:

ViPHP
AB
ViPHP | 5818 Messages

28 janv. 2010, 02:50

Pour répondre à ton EDIT, tu pourrais utiliser extract pour importer les valeurs du tableau dans des variables mais il est beaucoup plus sécurisé d'utiliser directement le tableau comme tu l'as fait : echo $tab['conteneur_1'];
Modifié en dernier par AB le 28 janv. 2010, 13:54, modifié 1 fois.

Eléphant du PHP | 69 Messages

28 janv. 2010, 03:10

Merci !!! Vraiment Tu es vraiment Génial :)