Combiner deux array
Résolu
Nimajneb
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
Nimajneb Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Nimajneb Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai deux array.
J'aimerai que la valeur de l'array 1 devienne l'objet dans lequel est la valeur de l'array 2.
Exemple :
Mes deux array vue par un var_dump sont(qui sont remplies automatiquement en amont de mon prog) :
Mon but est d'obtenir un var_dump final qui sera :
NB : Les clés sont toujours dans le bonne ordre. C'est-à-dire que les clés des valeurs des deux arrays sont toujours les bonnes clés des bonnes valeurs que je veux associés : 0 avec 0, 1 avec 1 etc... .
NB2 : Je ne sais pas à l'avance combien j'ai de valeur dans mes tableaux. Toujours est-il que j'en aurai toujours autant dans une array que dans l'autre bien sûr !
Est-ce possible ? Je suis bloqué. MERCI
J'ai deux array.
J'aimerai que la valeur de l'array 1 devienne l'objet dans lequel est la valeur de l'array 2.
Exemple :
Mes deux array vue par un var_dump sont(qui sont remplies automatiquement en amont de mon prog) :
array (size=3)
0 => string 'banane' (length=6)
1 => string 'fraise' (length=6)
2 => string 'kiwi' (length=4)
array (size=3)
0 => string 'jaune' (length=5)
1 => string 'rouge' (length=5)
2 => string 'vert' (length=4)
Mon but est d'obtenir un var_dump final qui sera :
array (size=3)
0 =>
object(stdClass)[1]
public 'banane' => string 'jaune' (length=5)
1 =>
object(stdClass)[2]
public 'fraise' => string 'rouge' (length=5)
2 =>
object(stdClass)[3]
public 'kiwi' => string 'vert' (length=4)
NB : Les clés sont toujours dans le bonne ordre. C'est-à-dire que les clés des valeurs des deux arrays sont toujours les bonnes clés des bonnes valeurs que je veux associés : 0 avec 0, 1 avec 1 etc... .
NB2 : Je ne sais pas à l'avance combien j'ai de valeur dans mes tableaux. Toujours est-il que j'en aurai toujours autant dans une array que dans l'autre bien sûr !
Est-ce possible ? Je suis bloqué. MERCI
A voir également:
- Combiner deux array
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - Guide
- Excel combiner deux cellules - Guide
- Combiner pdf - Guide
2 réponses
Salut,
Voici une solution possible :
Bonne journée
Voici une solution possible :
$tab1 = array('banane', 'fraise', 'kiwi'); $tab2 = array('jaune', 'rouge', 'vert'); $arrayAssoc = array_combine($tab1, $tab2); var_dump($arrayAssoc); // array(3) { ["banane"]=> string(5) "jaune" ["fraise"]=> string(5) "rouge" ["kiwi"]=> string(4) "vert" } $arrayObjects = array(); foreach ($arrayAssoc as $key => $value) { $arrayObjects[] = (object) array($key => $value); } echo '<pre>'; var_dump($arrayObjects); var_dump($arrayObjects[0]->banane); echo '</pre>';
Bonne journée
Une autre tres simple comme tu le dit les cle sont dans le bonne ordre :
$tab1 = array('banane', 'fraise', 'kiwi');
$tab2 = array('jaune', 'rouge', 'vert');
$tableaufinal = array();
//Parcour d'un des 2 tableaux tant qu'il y a des cases
for ($i=0;$i<count($tab1);$i++)
{
//ici tu creeait tes valeurs :
$tableaufinal[] = array($tab1[$i] => $tab2[$i]);
}
Autant utiliser la fonction array_combine : https://www.php.net/manual/fr/function.array-combine.php
Mais le résultat attendu ici est un tableau d'objet, et pas un tableau de tableau associatif ;)
Mais le résultat attendu ici est un tableau d'objet, et pas un tableau de tableau associatif ;)
J'avais bien testé cette fonction array_combine mais sans succès, en fait j'avais dû me planter dans la syntaxe.
En tout cas un grand MERCI :)
Bonne journée !!