summaryrefslogtreecommitdiff
path: root/2024/PHP/day_04/Input.php
diff options
context:
space:
mode:
Diffstat (limited to '2024/PHP/day_04/Input.php')
-rw-r--r--2024/PHP/day_04/Input.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/2024/PHP/day_04/Input.php b/2024/PHP/day_04/Input.php
new file mode 100644
index 0000000..f7e03c1
--- /dev/null
+++ b/2024/PHP/day_04/Input.php
@@ -0,0 +1,25 @@
+<?php
+
+declare(strict_types=1);
+
+class Input
+{
+ public string $contents;
+
+ public function __construct(private string $fileName)
+ {
+ $contents = file_get_contents($this->fileName, use_include_path: true);
+ $this->contents = $contents === false ? "" : $contents;
+ }
+
+ public function toGrid(): Grid
+ {
+ $lines = explode("\n", $this->contents);
+ $gridArray = array_map(
+ callback: fn(string $line): array => str_split(trim($line)),
+ array: $lines
+ );
+
+ return new Grid($gridArray);
+ }
+}