aboutsummaryrefslogtreecommitdiff
path: root/challenge-267/2colours/php/ch-2.php
blob: c824e95eea51184284eda7632c26e6abee24dd6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)";