3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding("utf-8"); $phrase = "ПРИВЕТЛИЛИЧКА"; $phraseLenght = mb_strlen($phrase); //$fromAngle = -80; //$toAngle = 260; $radius = 12.5; $height = 30; $centerX = 40; $centerY = 15; $screen = array(); for ($y=0; $y < $height; $y++) { $screen[$y] = array_fill(0, 80, " "); } $degree = round(360/$phraseLenght); for($i = 0, $curDegree = $degree; $i < $phraseLenght; $i++, $curDegree += $degree){ $x = floor($radius * sin(deg2rad($curDegree))) * 2; $y = floor($radius * cos(deg2rad($curDegree))); if ($x >= 0 and $y >= 0) { $screen[$centerY - $y][$centerX + $x] = mb_substr($phrase, $i, 1); } elseif ($x >= 0 and $y <= 0) { $screen[$centerY + abs($y)][$centerX + $x] = mb_substr($phrase, $i, 1); } elseif ($x <= 0 and $y <= 0) { $screen[$centerY + abs($y)][$centerX - abs($x)] = mb_substr($phrase, $i, 1); } elseif ($x <= 0 and $y >= 0) { $screen[$centerY - $y][$centerX - abs($x)] = mb_substr($phrase, $i, 1); } } foreach ($screen as $row) { foreach ($row as $value) { echo "$value"; } echo "\n"; }
Output for 7.1.25, 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
А К П Ч Р И И Л В И Е Л Т

preferences:
142.29 ms | 418 KiB | 5 Q