Replace one arrays keys with another arrays values in php

arrays, php

Solution

This is made quite nice with a foreach loop

foreach( $data as $origKey => $value ){
  // New key that we will insert into $newArray with
  $newKey = $map[$origKey];
  $newArray[$newKey] = $value;
}

A more condensed approach (eliminating variable used for clarification)

foreach( $data as $origKey => $value ){
  $newArray[$map[$origKey]] = $value;
}

Problem

I want to map form fields to database fields. I have two arrays.. One array is the data and contains the form field id as the key and the form field value as the value. ``` $data = array("inputEmail"=>"someone@somewhere.com","inputName"=>"someone"... etc ``` I also have an array which i intended to use as a map. The keys of this array are the same as the form fields and the values are the database field names. ``` $map = array("inputEmail"=>"email", "inputName"=>"name"... etc ``` What i want to do is iterate over the data array and where the data key matches the map key assign a new key to the data array which is the value of the map array. ``` $newArray = array("email"=>"someone@somewhere.com", "name"=>"someone"...etc ``` My question is how? Ive tried so many different ways im now totally lost in it.

Original source