I have an HTML form being populated by a table of customer requests. The user reviews each request, sets an operation, and submits. The operation gets set into a post arg as follow
$postArray = array_keys($_POST);
[1]=>Keep [2]=>Reject [3]=>Reject [4]=>Ignore ["item id"]=>"operation"
This is how I am parsing my Post args... it seems awkward, the unused $idx. I am new to PHP, is there a smoother way to do this?
$postArray = array_keys($_POST);
foreach($postArray as $idx => $itemId) {
$operation = $_POST[$itemId];
echo "$itemId $operation </br>";
...perform operation...
}
2 Answers 2
It looks like you may want to unset the 'item id' entry in your post array before you do the processing:
unset($_POST['item id']);
Then you can use foreach to loop over the key (idx) and value (operation).
foreach ($_POST as $idx => $operation)
{
echo $idx . ' ' . $operation . '</br>';
// perform operation.
}
The array_keys
function was unnecessary because foreach can be used with associative arrays handling both their keys and values.
You dont need to grab the the keys separately.
foreach($_POST as $key => $value) {
echo "$key $value </br>";
}
-
\$\begingroup\$ My answer already covered this. Adding another answer with the same information does not seem helpful. \$\endgroup\$Paul– Paul2012年04月17日 11:55:43 +00:00Commented Apr 17, 2012 at 11:55