array_merge commence à 0

Mammouth du PHP | 737 Messages

07 nov. 2012, 18:23

Bonjour,

Pouvez-vous m'aider svp ? Je coince sur un truc tout bête.

Pour fusionner mes tableaux, je me suis rapproché de la fonction array_merge mais le seul hic c'est que ce dernier me change mes valeurs.

Soit mon tableau A : vide
Soit mon tableau B : [1]

Je voudrais que A + B ait comme première référence [1] or là ca me m'est [0].

Une idée ? On peut forcer ou même garder les valeurs initiales ?

Par avance merci.

Mega
;)
Dyslexics are teople poo

Mammouth du PHP | 2278 Messages

07 nov. 2012, 18:38

J'ai un peu de peine à comprendre l'utilité de fusionner un tableau plein et un tableau vide.
La doc est limpide sur les clefs:
les clés numériques dans les tableaux d'entrées seront renumérotées en clés incrémentées partant de zéro dans le tableau résultat.
mais tu peux tenter
$c = $b+$a;
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 737 Messages

08 nov. 2012, 12:32

Bonjour et merci.

Potentiellement les array peuvent être vides suivant les cas mais très souvent il y a des valeurs dans les 2 tableaux.

C'est juste que je voudrais que le tableau qui fusionne les données commence à 1 et pas à 0.

Si tu sais, je suis preneur sinon je ferai p'tet un foreach + push.

Mega
;)
Dyslexics are teople poo

Mammouth du PHP | 2278 Messages

08 nov. 2012, 16:38

moi aussi j'ai une sainte horreur des départs à 0, d'autant que en php c'est aussi la valeur de false.... Querelle de chapelle qui date des balbutiements de l'informatique, probablement liée au fait que dans certains langages, une variable non iitialisée est forcée à 0.
cette bidulerie fait quelque chose
<?PHP

$t1 = array(2,3);
$t2= array(10,100);
$t3 = array("");
$t4 = array_merge($t3,$t2,$t1);
print_r($t4);
?>

J'ai une autre idée un peu fofolle mais je vais tester avant
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD