繁体   English   中英

用PHP解析多维数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM