diff options
Diffstat (limited to 'challenge-267/2colours/php/ch-2.php')
| -rw-r--r-- | challenge-267/2colours/php/ch-2.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-267/2colours/php/ch-2.php b/challenge-267/2colours/php/ch-2.php new file mode 100644 index 0000000000..c824e95eea --- /dev/null +++ b/challenge-267/2colours/php/ch-2.php @@ -0,0 +1,26 @@ +<?php + +const SCREEN_WIDTH = 100; +echo '$str = '; +$str = rtrim(fgets(STDIN)); +echo '@width = '; +$width = array_combine(range('a', 'z'), explode(' ', rtrim(fgets(STDIN)))); + +$current_line_number = 1; +$current_line_content = ''; +$current_column = 0; +$characters = str_split($str); + +foreach ($characters as $current_char) { + $current_width = $width[$current_char]; + if ($current_column + $current_width > SCREEN_WIDTH) { + echo "Line $current_line_number: $current_line_content ($current_column pixels)\n"; + $current_line_content = "$current_char"; + $current_column = $current_width; + $current_line_number++; + continue; + } + $current_column += $current_width; + $current_line_content .= $current_char; +} +echo "Line $current_line_number: $current_line_content ($current_column pixels)";
\ No newline at end of file |
