php代码逐个打印多维数组列表值

时间:2014-02-09 07:17:59

标签: php arrays

我正在读取excel数据并将其存储在php多维数组中。我想逐个打印多维数组列表值,如预期的输出...

Php代码

   $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
$i=0;
 foreach($sheetData as $rec)
{
    for($j=0;$j<4;$j=$j+1)
    {
     echo $rec[$i][$j];
    }
    $i=$i+1;
}

实际输出:

  

没有显示

     

var_dump($ sheetData)显示如下

     

array(4){[1] =&gt; array(4){[“A”] =&gt; string(10)“First Name”[“B”] =&gt;   string(9)“姓氏”[“C”] =&gt; string(11)“national”[“D”] =&gt;   string(6)“Gender”} [2] =&gt; array(4){[“A”] =&gt; string(5)“AGNI”[“B”] =&gt;   string(6)“namera”[“C”] =&gt; string(5)“india”[“D”] =&gt; string(1)“M”}   [3] =&GT; array(4){[“A”] =&gt; string(4)“QUEEN”[“B”] =&gt; string(5)“fefar”   [ “C”] =&GT; string(5)“india”[“D”] =&gt; string(1)“M”} [4] =&gt; array(4){   [ “A”] =&GT; string(7)“MASTER”[“B”] =&gt; string(5)“patel”[“C”] =&gt;串(5)   “India”[“D”] =&gt; string(1)“M”}}

预期输出:

----------------
First Name
Last Name
Nationality
Gender
-----------------
AGNI
NAMERA
INDIA
M
------------------
...and so on...

2 个答案:

答案 0 :(得分:2)

这里有两个问题......首先是您尝试访问$rec上的索引,就好像它是$sheetData一样。

foreach($sheetData as $rec)表示“遍历数组,每次创建一个变量$rec,引用数组$sheetData中的当前项。所以当你尝试调用索引0时$rec上的,1,2等等,它们不存在,这引导我到第二点......

for循环中,当您按照字符串(A,B,C,D等)索引时,您试图通过索引作为数字访问项目。例如...... < / p>

<?php

$numeric = array('foo', 'bar');
$strings = array('foo' => 'bar');

在第一个示例中,$numeric[0]将返回foo,而$numeric[1]将返回bar。在第二个示例中,数组中只有一个项目,索引为foo。它将由$strings['foo']访问。尝试访问$strings[0]会返回通知,因为索引不存在。

你应该这样做:

<?php

print "----------" . PHP_EOL;
foreach($sheetData as $rec)
{
    foreach($rec as $part)
    {
        print $part . PHP_EOL;
    }
    print "----------" . PHP_EOL;
}

您应该阅读arrays。此外,如果在运行脚本时没有输出,则应该在开发期间将PHP配置中的错误报告级别设置为E_ALL。

答案 1 :(得分:1)

尝试:

echo "------------"."<br>";
foreach($sheetData as $ind)
{
    foreach($ind as $index=>$val){
        echo $val."<br>";
    }
    echo "------------"."<br>";
}