Well, in your example:
<input type="text" name="ItemName[1][2]" >
<input type="text" name="ItemName[1][3]" >
<input type="text" name="ItemName[1][4]" >
The $_POST key is going to be the name, so ItemName and because PHP treats the follow-up brackets as array keys, the values would be:
$_POST['ItemName'][1][2]
$_POST['ItemName'][1][3]
$_POST['ItemName'][1][4]
So if you want all item names, go with:
$itemNames = $_POST['ItemName'];
FYI,
you should sanitize and validate all input before using it.
If you don't actually have an ItemName[2][1] or ItemName[0][1] etc, then the following would make more sense:
<input type="text" name="ItemName[]" />
<input type="text" name="ItemName[]" />
<input type="text" name="ItemName[]" />
Which would just set the index as they came in, instead of pre-setting them.