我怎样才能创建一个矩阵,这样我就可以从数组中访问每个数字,比如$array[$key]


How can I create a matrix so I can access each number from the array like so $array[$key]

我试图从文本文件创建一个多维数组,这样我就可以访问每个数字。例如,前7将是$triangle[0][0],前5将是$triangle[0][1]。到目前为止我写的代码是

<?php
$triangles = explode("'n", file_get_contents('18.txt'));
var_dump($triangles);
?>

这会产生以下输出。我需要在这里换什么?由于

array (size=15)
 0 => string '75' (length=3)
 1 => string '95 64' (length=6)
 2 => string '17 47 82' (length=9)
 3 => string '18 35 87 10' (length=12)
 4 => string '20 04 82 47 65' (length=15)
 5 => string '19 01 23 75 03 34' (length=18)
 6 => string '88 02 77 73 07 63 67' (length=21)
 7 => string '99 65 04 28 06 16 70 92' (length=24)
 8 => string '41 41 26 56 83 40 80 70 33' (length=27)
 9 => string '41 48 72 33 47 32 37 16 94 29' (length=30)
10 => string '53 71 44 65 25 43 91 52 97 51 14' (length=33)
11 => string '70 11 33 28 77 73 17 78 39 68 17 57' (length=36)
12 => string '91 71 52 38 17 14 91 43 58 50 27 29 48' (length=39)
13 => string '63 66 04 68 89 53 67 30 73 16 69 87 40 31' (length=42)
14 => string '04 62 98 27 23 09 70 98 73 93 38 53 60 04 23' (length=44)

您可以使用file将文件的内容放入数组中,其中每个数组元素是文件中的一行,然后将str_split映射到该数组上,将每行分隔为单独的字符。

$triangles = array_map('str_split', file('18.txt',  FILE_IGNORE_NEW_LINES ));
echo $triangles[0][0];    // outputs 7
echo $triangles[0][1];    // outputs 5

如果你不想要空格,你可以使用str_replace来删除它们,然后将该行分成单独的字符。

$triangles = array_map(function($line) {
    return str_split(str_replace(' ', '', $line));
}, file('18.txt',  FILE_IGNORE_NEW_LINES ));