2016-09-23 5 views
0

多次元配列をテキストファイルから作成して各番号にアクセスできるようにしようとしています。例えば、最初の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

何をしようとしても機能しません。 '00'と' 01'はちょうど '0'と' 1'の数字です(先行する0はそれを8進数として解析することを意味します)。 '$ triangles [0] [0]'と '$ triangles [0] [1]'としてアクセスしてください。 – Barmar

答えて

0

は、その後、個々の文字に各行を分離するために、そのアレイ上str_splitをマッピング、配列の各要素は、ファイルからの行である配列にファイルの内容を取得するためにfileを使用することができます。

$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)); 
+0

ありがとう、これは動作します。しかし、例えば$ triangles [2] [2]のようにスペースを出力するにはどうすればそのスペースを取り除くことができますか? –

+0

@CalebOkiスペースをなくす方法で答えを更新しました。 –

+0

ありがとうございました –

関連する問題