Php 文件读取和多维数组
这是我正在阅读的文本文件的内容Php 文件读取和多维数组,php,arrays,Php,Arrays,这是我正在阅读的文本文件的内容 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); 打
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);
打印的$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和索引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"
尝试
echo$matches[2][0]代码>啊。第一个数字2是组,第二个数字是索引?@gmustudent是的,您使用的是多维数组。第一个索引指向您正在访问的数组,然后第二个索引指向该数组中的元素。(我对我的帖子做了一个小编辑,让它更清晰一些。)首先,谢谢。你的解释很清楚。有没有办法让我在第2组的每一场比赛中都打一个循环?是的foreach($2]匹配为$id){…}
foreach($2]匹配为$key=>$match){echo$match[2][$key];}?对不起,我是新来的,我是java人