我正在尝试从文本文件创建一个多维数组,以便我可以访问每个数字。例如,前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)
答案 0 :(得分:0)
您可以使用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 ));