[英]Parse a multi dimentional array in PHP
我有一个数组
[1] => Array (
[1] => Report
)
[2] => Array (
[1] => Merchant Name
[2] => Merchant Id
[3] => Merchant Ref No
[4] => Trans Date
[5] => Ref No
[6] => Trans Type
[7] => Trans Amt
[8] => Trans Fee
[9] => Serv Tax
[10] => Total Fee
[11] => Amt Settled
[12] => Neft Ref.No
[13] => Settlmnt Date
[14] => Funds Settld Date
)
[3] => Array (
[1] => yy Private Limited
[2] => ESSIZMM000
[3] => zWidItN33452373TcH
[4] => 2014-12-02 10:27:47.82
[5] => 265135490490229682
[6] => SALES
[7] => 249
[8] => 2.241
[9] => 0.277
[10] => 2.518
[11] => 246.482
[12] => ABB SL : 00012
[13] => 04-12-2014
[14] => 04-12-2014
)
这是我解析一个excel后得到的一个数组。第一个数组是excel的标头,其中有列名,第二个数组向前是真实数据。可以有人帮我解析所有11号索引吗除了第一个数组之外的数组的第一个索引是一个数量,但是在第一个数组中是我不需要的标题``Amt Settled''。
我试过了
$cells = $worksheet['cells'];
foreach ($cells as $key => $value)
{
echo $value['11'];
}
$ cells是上面打印的数组。但是当我使用它时,
Amt Settled246.482
我如何跳过第一个数组,即excel的标头。除了我的代码外,还有其他更好的建议吗?请帮助
尝试这个 -
$i = 0;
foreach ($cells as $key => $value)
{
if ($i > 2) {
echo $value['11'];
}
$i++;
}
尝试这个 :
<?php
$your_array = your array goes here;
array_shift($your_array);
print_r($your_array);
//here you do your foreach
?>
参考: http : //php.net/manual/en/function.array-shift.php
编辑:我认为在您的情况下,您还必须使用array_shift 2次将其删除: [1] => Array ( [1] => Report )
如果是这样,请尝试以下操作:
<?php
$your_array = your array goes here;
array_shift($your_array);
array_shift($your_array);
print_r($your_array);
//here you do your foreach
?>
假设单元格数据从['cells'] [3]开始,则可以从索引3向下分割数组:
$cells = array_slice($worksheet['cells'], 3, NULL, TRUE);
foreach ($cells as $key => $value)
{
echo $value['11'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.