我正在读取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...
答案 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>";
}