3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); const PI_NAME = 'Число Пи'; const E_NAME = 'Число Эйлера'; final class Interpolator { public function __construct( private string $format = '%s' ) { } public function __invoke(mixed $value): string { return sprintf($this->format, $value); } } $sprintfString = sprintf( <<<'JSON' [ { "value": "%s", "name": "%s" }, { "value": "%s", "name": "%s" } ] JSON, pi(), PI_NAME, M_E, E_NAME, ); $intrp = new Interpolator(); $intrpString = <<<JSON [ { "value": "{$intrp(pi())}", "name": "{$intrp(PI_NAME)}" }, { "value": "{$intrp(M_E)}", "name": "{$intrp(E_NAME)}" } ] JSON; var_dump(assert($sprintfString === $intrpString));
Output for git.master_jit, git.master, rfc.property-hooks
bool(true)

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:
114.13 ms | 405 KiB | 5 Q