summaryrefslogtreecommitdiff
path: root/php/2024/day_04/Input.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/2024/day_04/Input.php')
-rw-r--r--php/2024/day_04/Input.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/php/2024/day_04/Input.php b/php/2024/day_04/Input.php
new file mode 100644
index 0000000..60a16a0
--- /dev/null
+++ b/php/2024/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);
+ }
+}