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();

preferences:
109.07 ms | 1632 KiB | 5 Q