Mixer les clés de 2 tableaux dont les valeurs sont similaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mixer les clés de 2 tableaux dont les valeurs sont similaire

Re: Mixer les clés de 2 tableaux dont les valeurs sont similaire

par Invité » 17 janv. 2010, 11:48

OK résolu en inversant le deuxième tableau et en utilisant ce code :

$tab1 = array(
1 => "mange",
2 => "dort",
3 => "cours"
);

$tab2 = array(
"aime" => 500,
"dort" => 400,
"cours" => 205
);

$final = array();

foreach ($tab1 as $key => $value) {
if(isset($tab2[$value])) {
$final[$key] = $tab2[$value];
}
}

print_r($final);
Merci pour votre aide !

Re: Mixer les clés de 2 tableaux dont les valeurs sont similaire

par ooflorent » 17 janv. 2010, 11:47

// Création des tableau
$a1 = array(1 => "mange", 2 => "dort", 3 => "cours");
$a2 = array(500 => "aime", 400 => "dort", 205 => "cours");
$a3 = array();

// Retourne le second tableau
$a2 = array_reverse($a2);

// Parcours du premier tableau
foreach ($a1 as $k => $v) {
    // Est-ce que la valeur est dans le second tableau ?
    if (isset($a2[$v])) {
        $a3[$k] = $a2[$v];
    }
}

Re: Mixer les clés de 2 tableaux dont les valeurs sont similaire

par Nours312 » 17 janv. 2010, 10:47

je dirais ...
$k = array_keys($tab1);
$v = array_values($tab2);

foreach ($k as $j => $t){
  $k[$j] = $v[$j];
}

ça te va ?

Mixer les clés de 2 tableaux dont les valeurs sont similaire

par beninsky112 » 17 janv. 2010, 10:33

Bonjour à tous.

Je souhaite faire quelque chose de simple mais je n'arrive pas à trouver la fonction PHP approprié ou la solution.

J'ai 2 tableaux :
Tableau1 {
1 => "mange"
2 => "dort"
3 => "cours"
}

Tableau2 {
500 => "aime"
400 => "dort"
205 => "cours"
}

Sachant que les valeurs n'apparaissent jamais 2 fois, j'aimerais avoir le tableau suivant :
TableauFinal {
2 => 400
3 => 205
}

Merci d'avance