如何创建一个矩阵,以便我可以从数组中访问每个数字,如$ array [$ key]

时间:2016-09-23 20:10:47

标签: php arrays matrix

我正在尝试从文本文件创建一个多维数组,以便我可以访问每个数字。例如,前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)

1 个答案:

答案 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 ));