3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Example { public function yearManufactured() { return true; } public function make() { return false; } public function model() { return true; } public function evaluateExpressionArray(array $expression) { $expr = '$result ='; foreach ($expression as $part) { if ($part == '||' || $part == '&&') { $expr .= " $part "; } elseif (method_exists($this, $part)) { $expr .= $this->$part() ? 'true' : 'false'; } else { return null; } } echo $expr; try { eval("$expr;"); } catch (ParseError $e) { return null; } return $result; } } $ex = new Example(); $result = $ex->evaluateExpressionArray(array( 'yearManufactured', '&&', 'make', '||', '||', 'model' )); var_dump($result);
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
$result =true && false || || trueNULL
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
64.31 ms | 407 KiB | 5 Q