Obtenir la matrice en cours de clé à l'intérieur de foreach

Ok, donc, je suis la construction de quelque chose pour mon employeur pour eux à l'entrée des produits, ils ont des exigences très spécifiques. J'ai un formulaire avec générées dynamiquement les champs comme si...
(évidemment pas le code exact à suivre, mais les exemples sont identiques sur le plan conceptuel)

<input type="text" name="attribute[20]"> inputted value = height
<input type="text" name="attribute[27]"> inputted value = width

les numéros sont générés sur la base de critères dans la base de données, donc 20 serait corrélée à la "largeur" du 27 serait corrélée à la "hauteur" par exemple.

Donc, une fois que l'utilisateur entre les valeurs j'ai besoin de ces valeurs pour aller dans une base de données...ou dans le test, l'echo.

foreach ($_POST['attribute'] as $attributes){
echo key($attributes).' '.$attributes.'<br>';
}

Ce qui devrait sortie...

20 valeur de la hauteur
27 valeur de la largeur de

mais au lieu de cela il sorties

hauteur de la valeur
la valeur de la largeur de

Ce qui se passe? J'ai quelque chose de similaire...mais un peu différent que le nombre défini peut avoir plus d'une entrée....ce qui fonctionne parfaitement.

<input type="text" name="option[][20]"> inputted value = option 1
<input type="text" name="option[][20]"> inputted value = option 2
<input type="text" name="option[][27]"> inputted value = option 1

foreach ($_POST['option'] as $options){
echo key($options).' ';
foreach ($options as $option){
echo $option.'<br>';
}

qui sort parfaitement...

20 option 1
20 option 2
27 option 1

Je ne comprends pas pourquoi le plus complexe des œuvres et la plus simple, ne l'est pas, ai-je raté quelque chose d'évident? Je suis conscient que j'ai un peu orthodoxe de la méthode de codage par rapport à certains, mais c'est ce que c'est lol. Toute aide serait grandement appréciée.

EDIT: Var dump comme demandé

array(22) { ["pID"]=> string(12) "test produit" ["ce tarif"]=> string(0) "" ["pName"]=> string(0) "" ["régime"]=> string(0) "" ["pPostSize"]=> string(0) "" ["pOurPrice"]=> string(0) "" ["pEstDelivery"]=> string(0) "" ["pWeight"]=> string(0) "" ["e"]=> string(0) "" ["pOrder"]=> string(0) "" ["pStock"]=> string(0) "" ["pManufacturer"]=> string(0) "" ["pType"]=> string(13) "Robinets de Douche" ["pRange"]=> string(0) "" ["chat"]=> array(2) { [0]=> string(2) "72" [1]=> string(2) "23" } ["attribut"]=> array(2) { [0]=> string(5) "largeur" [1]=> string(6) "hauteur" } ["option"]=> array(3) { [0]=> array(1) { [11]=> string(6) "works1" } [1]=> array(1) { [10]=> string(6) "works1" } [2]=> array(1) { [10]=> string(6) "works2" } } ["pLongdescription"]=> string(0) "" ["meta_description"]=> string(0) "" ["meta_keyword"]=> string(0) "" ["meta_title"]=> string(0) "" ["action"]=> string(6) "créer" }

le gras pièces, sont les parties qui ont réussi à sortir dans mon deuxième exemple. mais le gras italique comme vous pouvez le voir, renvoie 0 au lieu des 20 qui est réellement dans la forme valeur de nom.

Soins pour le format de votre dump un peu? C'est illisible! (Insérer entre, tiret, les sous-ensembles, etc.)
Pas besoin, fonctionne très bien grâce aux conseils reçus de Jim et de vous-même, même si votre être condescendant dans le ton. Mais je vous remercie tout de même.
Content que l'on pourrait vous ont aidé à vous faire comprendre mieux!

OriginalL'auteur GestaltO | 2012-12-13