3v4l.org

run code in 500+ PHP versions simultaneously
<?php function test_pair($k1, $v1, $k2, $v2) { echo "$k1 cmp $k2:\n"; try { echo (($v1 === $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 !== $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 < $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 <= $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 == $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 != $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 >= $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { echo (($v1 > $v2) ? "T " : "F "); } catch (Exception $e) { echo "Err "; } try { $cmp = $v1 <=> $v2; echo "$cmp"; } catch (Exception $e) { echo "Err"; } echo "\n"; } function test() { $aobj1 = new ArrayObject(array('a' => 'b')); $aobj2 = new ArrayObject(array('a' => 'b')); $aobj2->c = 'd'; $aiter1 = new ArrayIterator(array('a' => 'b')); $aiter2 = new ArrayIterator(array('a' => 'b')); $aiter2->c = 'd'; $xml1 = simplexml_load_string("<apple />"); $xml2 = simplexml_load_string("<pie><apple /></pie>"); $pairs = array( array( array('k' => 'ArrayObject 1', 'v' => $aobj1), array('k' => 'ArrayObject 2', 'v' => $aobj2), ), array( array('k' => 'ArrayIterator 1', 'v' => $aiter1), array('k' => 'ArrayIterator 2', 'v' => $aiter2), ), array( array('k' => 'SimpleXMLElement 1', 'v' => $xml1), array('k' => 'SimpleXMLElement 2', 'v' => $xml2), ), ); echo "\nsame nsame lt lte eq neq gte gt cmp\n\n"; foreach ($pairs as $p) { test_pair($p[0]['k'], $p[0]['v'], $p[1]['k'], $p[1]['v']); test_pair($p[1]['k'], $p[1]['v'], $p[0]['k'], $p[0]['v']); } } test();
Output for git.master_jit, git.master, rfc.property-hooks
Deprecated: Creation of dynamic property ArrayObject::$c is deprecated in /in/vlQoe on line 57 Deprecated: Creation of dynamic property ArrayIterator::$c is deprecated in /in/vlQoe on line 59 same nsame lt lte eq neq gte gt cmp ArrayObject 1 cmp ArrayObject 2: F T T T F T F F -1 ArrayObject 2 cmp ArrayObject 1: F T F F F T T T 1 ArrayIterator 1 cmp ArrayIterator 2: F T T T F T F F -1 ArrayIterator 2 cmp ArrayIterator 1: F T F F F T T T 1 SimpleXMLElement 1 cmp SimpleXMLElement 2: F T F F F T F F 1 SimpleXMLElement 2 cmp SimpleXMLElement 1: F T F F F T F F 1

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:
49.18 ms | 1632 KiB | 4 Q