title: What POST serialization issues does PayPal PHP IPN example refer to?
body: <p>PayPal's sample code for a PHP IPN listener has this comment/code at the top:</p>
  
  <pre><code>// reading posted data from directly from $_POST causes serialization 
  // issues with array data in POST
  // reading raw POST data from input stream instead. 
  $raw_post_data = file_get_contents('php://input');
  $raw_post_array = explode('&amp;', $raw_post_data);
  $myPost = array();
  foreach ($raw_post_array as $keyval) {
    $keyval = explode ('=', $keyval);
    if (count($keyval) == 2)
       $myPost[$keyval[0]] = urldecode($keyval[1]);
  }
  </code></pre>
  
  <p>Can someone explain what serialization issues this comment refers to? While I'm ok doing it this way, I would feel more comfortable knowing why it should be done this way.</p>