3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tests = [ 'false' => false, 'true' => true, 'null' => null, '0' => 0, '0.1' => 0.1, 'a' => 'a', '[\'foo\']' => ['foo'], '(object) [\'bar\', \'bar\']' => (object) ['bar', 'bar'], ]; echo "<table border=1>"; echo '<tr><th>input</th><th>echo</th><th>printf</th><th>print_r</th><th>var_export</th><th>var_dump</th></tr>'; foreach ($tests as $input => $test) { echo "<tr>"; echo "<th>$input</th><td>"; echo is_array($test) || is_object($test) ? json_encode($test) : $test; echo "</td><td>"; printf('%s', is_array($test) || is_object($test) ? json_encode($test) : $test); echo "</td><td>"; print_r($test); echo "</td><td>"; var_export($test); echo "</td><td>"; var_dump($test); echo "</td></tr>"; } echo "</table>";
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
<table border=1><tr><th>input</th><th>echo</th><th>printf</th><th>print_r</th><th>var_export</th><th>var_dump</th></tr><tr><th>false</th><td></td><td></td><td></td><td>false</td><td>bool(false) </td></tr><tr><th>true</th><td>1</td><td>1</td><td>1</td><td>true</td><td>bool(true) </td></tr><tr><th>null</th><td></td><td></td><td></td><td>NULL</td><td>NULL </td></tr><tr><th>0</th><td>0</td><td>0</td><td>0</td><td>0</td><td>int(0) </td></tr><tr><th>0.1</th><td>0.1</td><td>0.1</td><td>0.1</td><td>0.1</td><td>float(0.1) </td></tr><tr><th>a</th><td>a</td><td>a</td><td>a</td><td>'a'</td><td>string(1) "a" </td></tr><tr><th>['foo']</th><td>["foo"]</td><td>["foo"]</td><td>Array ( [0] => foo ) </td><td>array ( 0 => 'foo', )</td><td>array(1) { [0]=> string(3) "foo" } </td></tr><tr><th>(object) ['bar', 'bar']</th><td>{"0":"bar","1":"bar"}</td><td>{"0":"bar","1":"bar"}</td><td>stdClass Object ( [0] => bar [1] => bar ) </td><td>(object) array( '0' => 'bar', '1' => 'bar', )</td><td>object(stdClass)#1 (2) { ["0"]=> string(3) "bar" ["1"]=> string(3) "bar" } </td></tr></table>

preferences:
66.36 ms | 410 KiB | 5 Q