<p>Edit: This behaviour is reproducible with <a href="https://stackoverflow.com/questions/301766/mutability-and-reference-of-php5-get-variables">query globals</a> on.</p>

<p>I have the following:</p>

<pre><code>  $_SESSION['query_key'] = $_GET['query_key'];
  print($query_key);
</code></pre>

<p>Vs.</p>

<pre><code>  $_SESSION['query_key'] = clone $_GET['query_key'];
  print($query_key);
</code></pre>

<p>The former prints out the value of $query_key, while the latter prints nothing.
What sort of weird side effect is this of clone?</p>

You must be doing something very weird with your code.
clone
is for use on objects.  Unless you're stuffing objects into $_GET then that code will result in a fatal error (or a warning in older PHP versions).
@Michael Haren - clone actually does a shallow copy of an object, that is, it copies all the properties, but if a property is a reference to another object it will copy the reference, not clone the other object.