Heim > Artikel > Backend-Entwicklung > Vergleich zwischen PHP-String-Komprimierungsmethoden
Die von PHP bereitgestellten String-Komprimierungsmethoden sind
1.gzcompress – Komprimieren Sie einen String
Diese Funktion komprimiert die angegebene Zeichenfolge mithilfe des ZLIB-Datenformats
2.gzencode – Erstellen Sie ein gzip komprimierte Zeichenfolge
Diese Funktion gibt eine komprimierte Version der Eingabedaten zurück, die mit der Ausgabe des gzip-Programms kompatibel ist
3.gzdeflate – Eine Zeichenfolge entleeren
Diese Funktion komprimiert die angegebene Zeichenfolge mithilfe des DEFLATE-Datenformats.
4 .bzcompress – komprimiert eine Zeichenfolge in bzip2-kodierte Daten
bzcompress() komprimiert die angegebene Zeichenfolge und gibt sie in bzip2-kodierte Daten zurück.
Das Folgende ist ein Komprimierungsvergleich dieser vier Methoden zum Komprimieren chinesischer bzw. englischer Zahlen
<?php $str1 = '布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是通过 doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。'; $str2 = '!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8'; echo '<b>压缩中文比较</b><br><br>'; compress_comp($str1, 1000); // 压缩1000次 与 解压缩1000次比较 echo '<b>压缩英文数字比较</b><br><br>'; compress_comp($str2, 1000); // 压缩1000次 与 解压缩1000次比较 /* 压缩 */ function compress_comp($str, $num){ $func_compress = array('gzcompress', 'gzencode', 'gzdeflate', 'bzcompress'); echo '原文:'.$str.'<br><br>'; echo '原文大小:'.strlen($str).'<br><br>'; for($i=0,$length=count($func_compress); $i<$length; $i++){ $starttime = get_microtime(); for($j=0; $j<$num; $j++){ switch($func_compress[$i]){ case 'gzcompress': $mstr = gzcompress($str, 9); // 解压方法:gzuncompress break; case 'gzencode': $mstr = gzencode($str, 9); // 解压方法:gzdecode php>=5.4 break; case 'gzdeflate': $mstr = gzdeflate($str, 9); // 解压方法:gzinflate break; case 'bzcompress': $mstr = bzcompress($str, 9); // 解压方法:bzdecompress break; } } $endtime = get_microtime(); echo $func_compress[$i].' 压缩后大小:'.strlen($mstr).' 耗时:'.round(($endtime-$starttime)*1000,5).'ms<br><br>'; } } /* 获取 microtime */ function get_microtime(){ list($usec, $sec) = explode(' ', microtime(true)); return $usec+$sec; } ?>
Ausführungsergebnisse:
压缩中文比较 原文:布局 1 介绍 布局,简单来说就是设置元素的大小和位置。 Ext 的布局系统包括组件,布局,容器,容器是一种特殊的组件,可以管理组件的大小和位置。 容器是通过 doLayout 来重新计算布局,并更新 DOM. 2 手工布局是不必要的,框架会为你自动处理。 原文大小:328 gzcompress 压缩后大小:251 耗时:59.99994ms gzencode 压缩后大小:263 耗时:120.00012ms gzdeflate 压缩后大小:245 耗时:119.99989ms bzcompress 压缩后大小:303 耗时:259.99999ms 压缩英文数字比较 原文:!@#$%^&*()QWERTYUIOPSDFGHJKL!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNMa!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD:ZXCVBNM#!@#!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM-!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPD$%^&*()ERTYUIODFGHJ!@#$%^&*()QWERTYUIOPSDFGHJKL:ZXCVBNM]!@#$%^&*()ERTYUIODFGHJKLXCVBNM@#$%^&*()RTYUIOPDKLXCVBNM@#$%^&*()RTYUIOPDFGHJKLCVBNMFGHJTYU%^&RFGHJ4d56g7h8ui7h8ujirqwerqh8 原文大小:386 gzcompress 压缩后大小:116 耗时:50.00019ms gzencode 压缩后大小:128 耗时:99.9999ms gzdeflate 压缩后大小:110 耗时:89.99991ms bzcompress 压缩后大小:183 耗时:210.00004ms
Es kann geschlossen werden, dass
gzcompress die schnellste Geschwindigkeit und Komprimierung aufweist Verhältnis höher.
gzdeflate hat die höchste Komprimierungsrate und ist etwas langsamer als gzcompress
gzencode Vergleichen Sie mit gzdeflate Close, gzdeflate hat einen leichten Vorteil
bzcompress hat die langsamste Geschwindigkeit und das langsamste Komprimierungsverhältnis.
Daher wird empfohlen, gzcompress und gzdeflate zu verwenden.
In diesem Artikel wird der Vergleich der PHP-String-Komprimierungsmethoden erläutert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Verwandte Einführung in den PHP-Timer-Seiten-Laufzeitüberwachungskurs
Wie man PDO verwendet, um MySQL abzufragen Vermeiden Sie die SQL-Injection-Methode
Das obige ist der detaillierte Inhalt vonVergleich zwischen PHP-String-Komprimierungsmethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!