Why do print_r and var_dump execute before echo
<p>I'm calling either <code>var_dump()</code> or <code>print_r()</code> on an array that has one value in an <code>echo</code> statement:</p>

<pre><code>echo "&lt;br&gt;&lt;br&gt;testArray is ==&gt; " . var_dump($testArray) . " &lt;===&lt;br&gt;&lt;br&gt;";
</code></pre>

<p>Here is the actual output in the browser:</p>

<pre><code>array
0 =&gt; string '28' (length=2)


testArray is ==&gt; &lt;===
</code></pre>

<p>This is a nuance I don't get. To me, the order of execution is:</p>

<ol>
<li>echo executes and displays <code>testArray is ==&gt;</code></li>
<li>the call to var_dump executes and displays the array contents</li>
<li>then the <code>&lt;==</code> should execute</li>
</ol>

<p>Instead of seeing 1, 2 then 3 on the output, I'm seeing <code>2, 1, 3</code> in that order.
This is one line of server-side code. What is this nuance?</p>
