3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set("intl.use_exceptions", true); var_dump(idn_to_ascii( "loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong", IDNA_USE_STD3_RULES | IDNA_NONTRANSITIONAL_TO_ASCII | IDNA_CHECK_CONTEXTJ, INTL_IDNA_VARIANT_UTS46, $info )); var_dump($info); $errors = [ "IDNA_ERROR_EMPTY_LABEL", "IDNA_ERROR_LABEL_TOO_LONG", "IDNA_ERROR_DOMAIN_NAME_TOO_LONG", "IDNA_ERROR_LEADING_HYPHEN", "IDNA_ERROR_TRAILING_HYPHEN", "IDNA_ERROR_HYPHEN_3_4", "IDNA_ERROR_LEADING_COMBINING_MARK", "IDNA_ERROR_DISALLOWED", "IDNA_ERROR_PUNYCODE", "IDNA_ERROR_LABEL_HAS_DOT", "IDNA_ERROR_INVALID_ACE_LABEL", "IDNA_ERROR_BIDI", "IDNA_ERROR_CONTEXTJ" ]; foreach($errors as $errorReadable){ $error = constant($errorReadable); if($info['errors'] & $error){ echo $errorReadable . "\n"; } }
Output for git.master, git.master_jit, rfc.property-hooks
string(197) "loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong" array(3) { ["result"]=> string(197) "loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong.loooooooooooooooooong" ["isTransitionalDifferent"]=> bool(false) ["errors"]=> int(0) }

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:
55.9 ms | 402 KiB | 8 Q