3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* https://core.trac.wordpress.org/ticket/22952 gzencode() == gzip gzcompress() == zlib (aka. HTTP deflate) gzdeflate() == *raw* deflate encoding */ function _run_function($compress_f, $uncompress_f, $s_orig, $encoding_name) { global $compression_level; $compressed = $compress_f($s_orig, $compression_level, constant($encoding_name)); if ($compressed === false) { echo "FAIL $compress_f with encoding=$encoding_name". PHP_EOL; return false; } if ($s_orig !== $uncompress_f($compressed)) { echo "FAIL $uncompress_f after $compress_f with encoding=$encoding_name". PHP_EOL; return false; } echo "PASS $compress_f/$uncompress_f with encoding=$encoding_name". PHP_EOL; return true; } $compression_level = 6; // default level is 6 echo '=========== LATIN STRING ===========' . PHP_EOL; $str = '!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8'; _run_function('gzencode', 'gzdecode', $str, 'FORCE_GZIP'); _run_function('gzencode', 'gzdecode', $str, 'FORCE_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_RAW'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_RAW'); echo '=========== NON-LATIN STRING ===========' . PHP_EOL; $str = '布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是通过 doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。'; _run_function('gzencode', 'gzdecode', $str, 'FORCE_GZIP'); _run_function('gzencode', 'gzdecode', $str, 'FORCE_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzcompress', 'gzuncompress', $str, 'ZLIB_ENCODING_RAW'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_DEFLATE'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_GZIP'); _run_function('gzdeflate', 'gzinflate', $str, 'ZLIB_ENCODING_RAW');
Output for git.master_jit, git.master, rfc.property-hooks
=========== LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW =========== NON-LATIN STRING =========== PASS gzencode/gzdecode with encoding=FORCE_GZIP Warning: gzdecode(): data error in /in/0Y4Un on line 19 FAIL gzdecode after gzencode with encoding=FORCE_DEFLATE PASS gzcompress/gzuncompress with encoding=ZLIB_ENCODING_DEFLATE Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_GZIP Warning: gzuncompress(): data error in /in/0Y4Un on line 19 FAIL gzuncompress after gzcompress with encoding=ZLIB_ENCODING_RAW Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_DEFLATE Warning: gzinflate(): data error in /in/0Y4Un on line 19 FAIL gzinflate after gzdeflate with encoding=ZLIB_ENCODING_GZIP PASS gzdeflate/gzinflate with encoding=ZLIB_ENCODING_RAW

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:
36.18 ms | 405 KiB | 8 Q