How to get a form input array into a PHP array
They are already in arrays: $name
is an array, as is $email
So all you need to do is add a bit of processing to attack both arrays:
$name = $_POST['name'];$email = $_POST['account'];foreach( $name as $key => $n ) { print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n";}
To handle more inputs, just extend the pattern:
$name = $_POST['name'];$email = $_POST['account'];$location = $_POST['location'];foreach( $name as $key => $n ) { print "The name is " . $n . ", email is " . $email[$key] . ", and location is " . $location[$key] . ". Thank you\n";}
E.g. by naming the fields like
<input type="text" name="item[0][name]" /><input type="text" name="item[0][email]" /><input type="text" name="item[1][name]" /><input type="text" name="item[1][email]" /><input type="text" name="item[2][name]" /><input type="text" name="item[2][email]" />
(which is also possible when adding elements via JavaScript)
The corresponding PHP script might look like
function show_Names($e){ return "The name is $e[name] and email is $e[email], thank you";}$c = array_map("show_Names", $_POST['item']);print_r($c);
You could do something such as this:
function AddToArray ($post_information) { //Create the return array $return = array(); //Iterate through the array passed foreach ($post_information as $key => $value) { //Append the key and value to the array, e.g. //$_POST['keys'] = "values" would be in the array as "keys"=>"values" $return[$key] = $value; } //Return the created array return $return;}
The test with:
if (isset($_POST['submit'])) { var_dump(AddToArray($_POST));}
This for me produced:
array (size=1) 0 => array (size=5) 'stake' => string '0' (length=1) 'odds' => string '' (length=0) 'ew' => string 'false' (length=5) 'ew_deduction' => string '' (length=0) 'submit' => string 'Open' (length=4)