3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); $text = "Дым табачный воздух выел. Комната — глава в крученыховском аде. Вспомни — за этим окном впервые руки твои, исступлённый, гладил. Сегодня сидишь вот, сердце в железе. День ещё — выгонишь, может быть, изругав. В мутной передней долго не влезет сломанная дрожью рука в рукав."; $lines = preg_split('/\n/', $text); $maximumStringLength = 0; foreach ($lines as $value) { if (mb_strlen($value) > $maximumStringLength){ $maximumStringLength = mb_strlen($value); } } $letterNumber = 0; for($i = 0; $i < $maximumStringLength; $i++){ foreach ($lines as $key => $value) { if (mb_substr($value, $letterNumber, 1) != ""){ echo "|", mb_substr($value, $letterNumber, 1); } else { echo "| "; } } echo "|\n"; $letterNumber++; }
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
|Д|К|г|В|з|в|р|С|с|Д|в|м|В|с| |ы|о|л|с|а|п|у|е|е|е|ы|о| |л| |м|м|а|п| |е|к|г|р|н|г|ж|м|о| | |н|в|о|э|р|и|о|д|ь|о|е|у|м| |т|а|а|м|т|в| |д|ц| |н|т|т|а| |а|т| |н|и|ы|т|н|е|е|и| |н|н| |б|а|в|и|м|е|в|я| |щ|ш|б|о|н| |а| | | | | |о| |в|ё|ь|ы|й|а| |ч|—|к|—|о| |и|с| | |,|т| |я| |н| |р| |к| |,|и|ж|—| |ь|п| | |ы| |у| |н| | |д|е| | |,|е|д| |й| |ч| |о| |и|и|л| | | |р|р| | | |е| |м| |с|ш|е| | |и|е|о| |в| |н| | | |с|ь|з| | |з|д|ж| |о| |ы| | | |т| |е| | |р|н|ь| |з| |х| | | |у|в|.| | |у|е|ю| |д| |о| | | |п|о| | | |г|й| | |у| |в| | | |л|т| | | |а| |р| |х| |с| | | |ё|,| | | |в|д|у| | | |к| | | |н| | | | |.|о|к| |в| |о| | | |н| | | | | |л|а| |ы| |м| | | |ы| | | | | |г| | |е| | | | | |й| | | | | |о|в| |л| |а| | | |,| | | | | | | | |.| |д| | | | | | | | | |н|р| | | |е| | | |г| | | | | |е|у| | | |.| | | |л| | | | | | |к| | | | | | | |а| | | | | |в|а| | | | | | | |д| | | | | |л|в| | | | | | | |и| | | | | |е|.| | | | | | | |л| | | | | |з| | | | | | | | |.| | | | | |е| | | | | | | | | | | | | | |т| |

preferences:
216.96 ms | 406 KiB | 293 Q