3v4l.org

run code in 300+ PHP versions simultaneously
<?php class dumpy { function __construct() { echo 'constructor called,' . PHP_EOL . ' my class is ' . var_export(get_class($this), true) . PHP_EOL . ' input parameters: ' . var_export(func_get_args(), true) . PHP_EOL; } function __set($name, $value) { echo var_export($name, true) . ' = ' . var_export($value, true) . PHP_EOL; } } class dummy extends dumpy { } $dsn = 'sqlite::memory:'; $pdo = method_exists('PDO', 'connect') ? PDO::connect($dsn) : new PDO($dsn); $sql = "SELECT 'dummy' pdoFetchClassTypeClass, 'bar' foo, 'dfg' abc;"; foreach (array( array('PDO::FETCH_CLASS'), array('PDO::FETCH_CLASS', 'PDO::FETCH_PROPS_LATE'), array('PDO::FETCH_CLASS', 'PDO::FETCH_CLASSTYPE'), array('PDO::FETCH_CLASS', 'PDO::FETCH_CLASSTYPE', 'PDO::FETCH_PROPS_LATE'), ) as $fetchMode) { $fetchModeInt = 0; foreach (array_map('constant', $fetchMode) as $i) { $fetchModeInt |= $i; } echo '## ' . implode(' | ' , $fetchMode) . " ($fetchModeInt)" . PHP_EOL; $pdo->query($sql)->fetchAll( $fetchModeInt, 'dumpy', array('constructor argument #1') ); echo PHP_EOL; }

preferences:
26.91 ms | 408 KiB | 5 Q