Completely ignore the above post. It's syntactically wrong, serves no purpose relevant to the question, and uses custom function's you won't have anyway.
What's wrong with simply unsetting it? It doesn't matter that the product_id is a value within the arrays, given what you have here both entries use the associative key as the same product_id anyway. Simply use
unset($myResultSetArray[$product_id]); to remove it.
header('HTTP/1.1 420 Enhance Your Calm');