需要在包含 3 个的 php 数组中访问 20 个值,是一个 3D 数组,我需要访问相同的值 60 次


need to access 3 values in a php array that contains 20, is a 3d array and I need to access the same values 60 times

<?php
// Open the file
$filename = 'pvemail.txt';
$fp = fopen($filename, 'r'); 
// Add each line to an array
if ($fp) {
   $array = explode("'n", fread($fp, filesize($filename)));
}
//print_r ($array);
for ($c = 0; $c < count($array); $c++){
    $cell = explode(",", $array[$c]);
print_r ($cell);
echo '<br/>';
}
?>

我目前正在处理此代码。我从Google报告中生成了一个文本文件,并设法将其分解为一个数组,然后我获取了数组的每个元素并将其分解为另一个数组。但是,我现在遇到的问题是我只想检索第二个分解数组的 3 个元素,每个数组有 20 个元素。
最好的方法是什么,我应该使用 for 还是 foreach 循环?我只需要打印$cell[2]、$cell[11]和$cell[12]。我试过使用:

echo ($cell[2] + " " + $cell[12] + " " + $cell[11]

($cell[11] 和 $cell[12] 按此顺序排列,因为 11 是姓氏,12 是名字,我想要第一个名字,所以我不得不将它们倒置)但是当我运行这段代码时,它只输出换行符和 0。我真的只是想知道循环遍历数组的最有效方法是什么,我应该在我已经建立的循环中执行此操作吗?
我在想,如果我把它放在我现有的 for 循环中,我可以使用 if/else 循环,如下所示:

if($cell = $cell[2]){
echo ($cell[2])
};

但我不相信这会奏效。我是否应该定义一个变量来存储$cell[2]、[11] 和 [12],并基于此创建我的 if 循环,然后我只需要回显该变量?这可能有效吗?任何帮助将不胜感激,我已经在论坛上四处寻找与此类似的帖子,但我找不到任何东西。

20130912,b875c9b154cf7b8d,el@pv-eu.com,ACTIVE,30720,1054180015,,,20100902,‌​20130910,20130904,L,E,,,,20130911,2010-09-02 09:11:37,2013-09-10 23:51:21,2013-09-04 03:06:09,2013-09-11 00:41:24 
20130912,66c63753b8188f17,lf@pv-eu.com,ACTIVE,30720,3699701524,,,20110315,201309‌​11,20130911,F,L,,,,19691231,2011-03-15 02:00:31,2013-09-11 00:50:17,2013-09-11 00:52:16,1969-12-31 16:00:00
20130912,bd5ef40689adf9ac,ah@pv-eu.com,ACTIVE,30720,3476851137,,,20110426,201309‌​11,20130910,H,A,,,,20110720,2011-04-26 01:47:56,2013-09-11 16:58:48,2013-09-10 06:20:26,2011-07-20

这就是文本文件本身的外观,尽管有更多的数据。我试图提取的只是电子邮件地址和姓名。

假设pvemail.txt是一个CSV文件,这能解决你的问题吗?

$content = file_get_contents('pvemail.txt');
$lines = explode("'n", $content);
header('Content-type: text/plain');
foreach($lines as $line) {
    $values = explode(',', $line);
    echo $values[2], ' ', $values[12], ' ', $values[11], "'n";
}

使用 3 个示例行,上面的代码输出以下内容:

el@pv-eu.com E L
lf@pv-eu.com L F
ah@pv-eu.com A H