首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件读取和多维数组

文件读取和多维数组
EN

Stack Overflow用户
提问于 2012-12-15 13:13:19
回答 1查看 28关注 0票数 0

下面是我正在阅读的文本文件的内容

代码语言:javascript
复制
All Guests Listed Below

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

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

我想提取每个客人的ID,所以我写了这篇文章

代码语言:javascript
复制
preg_match_all("/(ID: )(.*)(\[x\])/", $fileContent, $matches);

一个$fileContent的print_r给了我这个

代码语言:javascript
复制
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。所以目标输出是

代码语言:javascript
复制
SeanCarrington
ChrisCarrington

我试过了

代码语言:javascript
复制
echo $matches[0][2];
echo $matches[1][2];

但是我得到了这个错误

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-15 13:16:48

每个用户似乎有两个组,但这些组的索引分别为0和1。

代码语言:javascript
复制
echo $matches[0][0]; // "ID: SeanCarrington"
echo $matches[0][1]; // "ID: ChrisCarrington"

由于您只需要ID名称,因此请看一下这里的数组结构:

代码语言:javascript
复制
[2] => Array (
    [0] => SeanCarrington
    [1] => ChrisCarrington
)

这个组(索引2)中有两个用户,因此您可以使用索引2,然后使用索引0和1:

代码语言:javascript
复制
echo $matches[2][0]; // "SeanCarrington"
echo $matches[2][1]; // "ChrisCarrington"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13889535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档