3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(E_ALL); $db = new PDO("sqlite::memory:"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $queries = array( "CREATE TABLE users ( userid INT PRIMARY KEY, name TEXT, country TEXT, referred_by_userid INT )", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (104, 'Chris', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (105, 'Jamie', 'England', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (107, 'Robin', 'Germany', 104)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (108, 'Sean', 'Ukraine', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (109, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (110, 'Toni', 'Germany', NULL)", "INSERT INTO users (userid, name, country, referred_by_userid) VALUES (111, 'Sean', 'France', NULL)", ); foreach ($queries as $query) { $db->exec($query); } $query = "SELECT userid, name, country, referred_by_userid FROM users"; $fetchMode = PDO::FETCH_COLUMN | PDO::FETCH_GROUP; print "\nfetchAll (no column specified):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (col 2):\n"; $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result); $query = "SELECT country, name, userid FROM users"; print "\nfetchAll (by country, no column specified):\n"; # Values are column 1, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode); print_r($result); print "\nfetchAll (by country, col 0):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 0); print_r($result); print "\nfetchAll (by country, col 1):\n"; # Values are column 0, group is column 0 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 1); print_r($result); print "\nfetchAll (by country, col 2):\n"; # Values are column 0, group is column 1 $stmt = $db->query($query); $result = $stmt->fetchAll($fetchMode, 2); print_r($result);
Output for git.master, git.master_jit, rfc.property-hooks
fetchAll (no column specified): Array ( [104] => Array ( [0] => Chris ) [105] => Array ( [0] => Jamie ) [107] => Array ( [0] => Robin ) [108] => Array ( [0] => Sean ) [109] => Array ( [0] => Toni ) [110] => Array ( [0] => Toni ) [111] => Array ( [0] => Sean ) ) fetchAll (col 2): Array ( [Ukraine] => Array ( [0] => 104 [1] => 108 ) [England] => Array ( [0] => 105 ) [Germany] => Array ( [0] => 107 [1] => 109 [2] => 110 ) [France] => Array ( [0] => 111 ) ) fetchAll (by country, no column specified): Array ( [Ukraine] => Array ( [0] => Chris [1] => Sean ) [England] => Array ( [0] => Jamie ) [Germany] => Array ( [0] => Robin [1] => Toni [2] => Toni ) [France] => Array ( [0] => Sean ) ) fetchAll (by country, col 0): Array ( [Ukraine] => Array ( [0] => Ukraine [1] => Ukraine ) [England] => Array ( [0] => England ) [Germany] => Array ( [0] => Germany [1] => Germany [2] => Germany ) [France] => Array ( [0] => France ) ) fetchAll (by country, col 1): Array ( [Chris] => Array ( [0] => Ukraine ) [Jamie] => Array ( [0] => England ) [Robin] => Array ( [0] => Germany ) [Sean] => Array ( [0] => Ukraine [1] => France ) [Toni] => Array ( [0] => Germany [1] => Germany ) ) fetchAll (by country, col 2): Array ( [104] => Array ( [0] => Ukraine ) [105] => Array ( [0] => England ) [107] => Array ( [0] => Germany ) [108] => Array ( [0] => Ukraine ) [109] => Array ( [0] => Germany ) [110] => Array ( [0] => Germany ) [111] => Array ( [0] => France ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
29.68 ms | 416 KiB | 5 Q