Specially for PHP, I conducted several tests with array names in hidden inputs and shared my results here:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Post Hidden 2D Arrays</title> </head> <body> <form name="formtest" method="POST" target="_self"> <input type="hidden" name="elem['name'][]" value="first"> <input type="hidden" name="elem['name'][]" value="second"> <input type="hidden" name="elem['name'][]" value="third"> <input type="hidden" name="elem['name'][]" value="fourth"> <input type="hidden" name="elem['type'][]" value="normal"> <input type="hidden" name="elem['type'][]" value="classic"> <input type="hidden" name="elem['type'][]" value="regular"> <input type="hidden" name="elem['type'][]" value="basic"> <input type="hidden" name="elem['size'][]" value="4"> <input type="hidden" name="elem['size'][]" value="7"> <input type="hidden" name="elem['size'][]" value="3"> <input type="hidden" name="elem['size'][]" value="6"> <input type="hidden" name="elem['form'][]" value="triangle"> <input type="hidden" name="elem['form'][]" value="square"> <input type="hidden" name="elem['form'][]" value="hexagon"> <input type="hidden" name="elem['form'][]" value="circle"> <input type="submit" name="sendtest" value="Test"> </form> <xmp> <?php print_r($_POST); ?> </xmp> </body> </html>
Submitting the form produces the following result:
Array ( [elem] => Array ( ['name'] => Array ( [0] => first [1] => second [2] => third [3] => fourth ) ['type'] => Array ( [0] => normal [1] => classic [2] => regular [3] => basic ) ['size'] => Array ( [0] => 4 [1] => 7 [2] => 3 [3] => 6 ) ['temp'] => Array ( [0] => triangle [1] => square [2] => hexagon [3] => circle ) ) [sendtest] => Test )
After looking at this result, I did more tests looking for the best location of the array values and ended up with this (I will only show the new hidden input data):
<input type="hidden" name="elem[0]['name']" value="first"> <input type="hidden" name="elem[1]['name']" value="second"> <input type="hidden" name="elem[2]['name']" value="third"> <input type="hidden" name="elem[3]['name']" value="fourth"> <input type="hidden" name="elem[0]['type']" value="normal"> <input type="hidden" name="elem[1]['type']" value="classic"> <input type="hidden" name="elem[2]['type']" value="regular"> <input type="hidden" name="elem[3]['type']" value="basic"> <input type="hidden" name="elem[0]['size']" value="4"> <input type="hidden" name="elem[1]['size']" value="7"> <input type="hidden" name="elem[2]['size']" value="3"> <input type="hidden" name="elem[3]['size']" value="6"> <input type="hidden" name="elem[0]['temp']" value="triangle"> <input type="hidden" name="elem[1]['temp']" value="square"> <input type="hidden" name="elem[2]['temp']" value="hexagon"> <input type="hidden" name="elem[3]['temp']" value="circle">
Getting this result after submitting the form:
Array ( [elem] => Array ( [0] => Array ( ['name'] => first ['type'] => normal ['size'] => 4 ['temp'] => triangle ) [1] => Array ( ['name'] => second ['type'] => classic ['size'] => 7 ['temp'] => square ) [2] => Array ( ['name'] => third ['type'] => regular ['size'] => 3 ['temp'] => hexagon ) [3] => Array ( ['name'] => fourth ['type'] => basic ['size'] => 6 ['temp'] => circle ) ) [sendtest] => Test )
I hope this helps a bit.
Melo Waste Jul 08 '16 at 15:57 2016-07-08 15:57
source share