3v4l.org

run code in 300+ PHP versions simultaneously
<?php $result = array( array( 'task_id' => 1, 'name' => 'do dishes', 'user' => 'bob' ), array( 'task_id' => 1, 'name' => 'do dishes', 'user' => 'liam' ), array( 'task_id' => 2, 'name' => 'vacuum', 'user' => 'liam' ), array( 'task_id' => 3, 'name' => 'Take out thrash', 'user' => 'liam' ), array( 'task_id' => 3, 'name' => 'Take out thrash', 'user' => 'bob' ), ); function get_arrayvalues_bykeyvalue($array, $key, $key2, $v2) { $ret = array(); foreach($array as $arr) { foreach($arr as $k => $v) { if($arr[$key2] == $v2) { if($k == $key) $ret[] = $v; } } } $u = array_unique($ret); return (sizeof($u) == 1) ? $u[0] : $u; } $res = array(); foreach($result as $arr) { foreach($arr as $k => $v) { if($k == 'user') $res[$arr['task_id']][$k] = get_arrayvalues_bykeyvalue($result, $k, 'task_id', $arr['task_id']); else $res[$arr['task_id']][$k] = $v; } } print_r($res);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [1] => Array ( [task_id] => 1 [name] => do dishes [user] => Array ( [0] => bob [1] => liam ) ) [2] => Array ( [task_id] => 2 [name] => vacuum [user] => liam ) [3] => Array ( [task_id] => 3 [name] => Take out thrash [user] => Array ( [0] => liam [1] => bob ) ) )

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:
147.71 ms | 407 KiB | 5 Q