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...
}
share|improve this question

2 Answers

up vote 1 down vote accepted

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.

share|improve this answer

You dont need to grab the the keys separately.

foreach($_POST as $key => $value) {            
    echo "$key $value </br>";
}
share|improve this answer
My answer already covered this. Adding another answer with the same information does not seem helpful. – Paul Apr 17 '12 at 11:55

Your Answer

 
or
required, but never shown
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.