Page 1 sur 1

Array

Posté : 21 sept. 2005, 09:43
par seinto28
Bonjour à tous.
Bon je crois que mon problème est assez simple mais je n'ai pas trouvé comment faire sur la doc.
Je possède 2 tableaux, l'un avec un ensemble de valeurs et l'autre avec un sous ensemble de ces valeurs, je voudrais générer un 3e tableau avec les valeurs complementaires, presentent dans le 1er et absentent dans le 2e, et sans case vide.

Information importante, je travail avec php 4.2.3, donc je ne peux pas utiliser la fonction array_diff_assoc().

Voila,

Merci d'avance.

Posté : 21 sept. 2005, 10:01
par Cyrano
Tu pourrais faire à ce moment là une boucle : pour chaque élément du premier tableau, tu en vérifie l'absence dans le second avec in_array() et si la réponse est TRUE, tu l'ajoute à un troisième tableau:
<?php
$tableau_1 = array("bleu", "rouge", "vert", "jaune", "blanc");
$tableau_2 = array("bleu", "vert", "blanc");
$tableau_3 = array();
foreach($tableau_1 as $couleur)
{
    /* Si la valeur est présente dans le tableau 1 et absente du tableau 2, on l'ajoute au tableau 3 */
    if(!in_array($couleur, $tableau_2))
    {
        $tableau_3[] = $couleur;
    }
}
?>
<pre>
<?php
/* Affichage de vérification */
var_dump($tableau_3);
?>
</pre>
Ce qui va faire afficher :

Code : Tout sélectionner

array(2) { [0]=> string(5) "rouge" [1]=> string(5) "jaune" }

Posté : 21 sept. 2005, 10:53
par seinto28
Ouah,

Merci pour cette réponse rapide et impeccable. Mon problème est résolu. Va falloir que je pense a upgrader mon php.

Merci encore.

:D