2012-12-15 60 views
0

這裏是文本文件我讀文件讀取多維數組

All Guests Listed Below 

ID: SeanCarrington [x] 
Name: Sean [x] 
Email: Carrington [x] 

ID: ChrisCarrington [x] 
Name: Chris [x] 
Email: Carrington [x] 

的內容我想提取每個客人的ID的,所以我寫了這個

preg_match_all("/(ID:)(.*)(\[x\])/", $fileContent, $matches); 

的print_r的$fileContent給我這個

Array ([0] => Array ([0] => ID: SeanCarrington [x] [1] => ID: ChrisCarrington [x]) [1] => Array ([0] => ID: [1] => ID:) [2] => Array ([0] => SeanCarrington [1] => ChrisCarrington) [3] => Array ([0] => [x] [1] => [x])) 

我的目標是打印出每個用戶的組2。換句話說,他們的ID。因此,目標產量爲

SeanCarrington 
ChrisCarrington 

我想這

echo $matches[0][2]; 
echo $matches[1][2]; 

但我得到這個錯誤

Notice: Undefined offset: 2 in /data/helios_web/ccarrin2/IT207/lab9/convertToArray.php on line 10 
Notice: Undefined offset: 2 in /data/helios_web/ccarrin2/IT207/lab9/convertToArray.php on line 11 
+0

試試'echo $ matches [2] [0];' – alfasin

回答

1

每個用戶似乎有兩個組,但是這些指數0和指數1

echo $matches[0][0]; // "ID: SeanCarrington" 
echo $matches[0][1]; // "ID: ChrisCarrington" 

既然你要只是的ID名稱,看看你的陣列結構在這裏:

[2] => Array (
    [0] => SeanCarrington 
    [1] => ChrisCarrington 
) 

這個團體(指數2)中有兩個用戶,讓你用指數2 然後指數在0和1:

echo $matches[2][0]; // "SeanCarrington" 
echo $matches[2][1]; // "ChrisCarrington" 
+0

AHHH。所以第一個數字2是組,然後第二個數字是索引? – gmustudent

+0

@gmustudent是的,你正在使用一個多維數組。第一個索引指向您正在訪問的數組,然後第二個索引指向該數組中的元素。 (我對我的帖子做了一個小小的修改,使其更加清晰。) – Eric

+0

首先,謝謝。你的解釋非常清楚。有沒有什麼辦法可以做一個循環foreach組2比賽? – gmustudent