Получить текущий ключ массива внутри foreach

Итак, я создаю что-то для моего работодателя, чтобы они вводили продукты, у них очень специфические требования. У меня есть форма с динамически сгенерированными полями, например ... (очевидно, не точный код для подражания, но примеры идентичны концептуально)

 inputted value = height
 inputted value = width

числа генерируются на основе вещей в базе данных, поэтому 20 будет соответствовать "ширина» 27 будет соответствовать "рост" например.

Поэтому, как только пользователь вводит значения, мне нужно, чтобы эти значения были введены в базу данных ... или в тесте выводим эхо.

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

Так что должен выводить ...

20 значение высоты

Значение ширины 27

но вместо этого он выводит

значение высоты

значение ширины

Что здесь происходит? У меня есть что-то похожее ... но немного другое, так как определенные числа могут иметь более одного ввода ...., который работает отлично.

 inputted value = option 1
 inputted value = option 2
 inputted value = option 1

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

который выводит отлично ...

20 вариант 1

20 вариант 2

27 вариант 1

Я нене понимаю, почему более сложный работает, а простой нет, я что-то упускаю очевидное? Я знаю, у меня есть несколько неортодоксальный метод кодирования по сравнению с некоторыми, но это то, что он лол. Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: вар дамп по запросу

массив (22) {["Pid»] => строка (12) "тестовый продукт "["pPrice»] => строка (0) "" ["PNAME»] => строка (0) "" ["pRRP»] => строка (0) "" ["pPostSize»] => строка (0) "" ["pOurPrice»] => строка (0) "" ["pEstDelivery»] => строка (0) "" ["pWeight»] => строка (0) "" ["Пин»] => строка (0) "" ["pOrder»] => строка (0) "" ["pStock»] => строка (0) "" ["pManufacturer»] => строка (0) "" ["PTYPE»] => строка (13) "Душевые клапаны "["Прейндж»] => строка (0) "" ["кошка"] => массив (2) {[0] => строка (2) "72" [1] => строка (2) "23" } ["атрибут»] => массив (2) {[0] => строка (5) "ширина» [1] => строка (6) "рост" } ["опция»] => массив (3) {[0] => массив (1) {[11] => строка (6) "работы1" } [1] => массив (1) {[10] => строка (6) "работы1" } [2] => массив (1) {[10] => строка (6) "работы2" }} ["pLongdescription»] => строка (0) "" ["meta_description»] => строка (0) "" ["meta_keyword»] => строка (0) "" ["meta_title»] => строка (0) "" ["действие»] => строка (6) "Создайте" }

смелые части - это те части, которые успешно вышли из моего второго примера. но жирный курсив, как вы можете видеть, возвращает 0 вместо 20, который фактически находится в значении имени формы.

Ответы на вопрос(3)

Ваш ответ на вопрос