文本区域excel粘贴到数组


php: textarea excel paste to array

我知道这可能是一个简单的问题,它之前一定有答案,但这种问题你不知道如何谷歌。

我正在做一个内联,我有一个大的文本区,其中用户从excel粘贴5列X 365行(可选的第一列与1到365个数字),并以以下方式结束:

1   $ 37    $ 74    $ 111   $ 148   $ 185
2   $ 37    $ 74    $ 111   $ 148   $ 185
3   $ 37    $ 74    $ 111   $ 148   $ 185
4   $ 37    $ 74    $ 111   $ 148   $ 185
5   $ 37    $ 74    $ 111   $ 148   $ 185
6   $ 57    $ 114   $ 171   $ 228   $ 285
7   $ 57    $ 114   $ 171   $ 228   $ 285
8   $ 57    $ 114   $ 171   $ 228   $ 285
9   $ 57    $ 114   $ 171   $ 228   $ 285
10  $ 57    $ 114   $ 171   $ 228   $ 285

我怎么能把它变成一个php数组,这样我就可以把它插入到一个mysql表?我考虑过使用爆炸(),但我不确定每列之间的空间是否总是相同的,也许有一个更花哨的方法来做到这一点。

如果在其他地方已经讨论过这个问题,请告诉我。

Thanks to lot

按列''n'和列''t'爆炸,忽略$

<?php
$str = "    1   $ 37    $ 74    $ 111   $ 148   $ 185
    2   $ 37    $ 74    $ 111   $ 148   $ 185
    3   $ 37    $ 74    $ 111   $ 148   $ 185
    4   $ 37    $ 74    $ 111   $ 148   $ 185
    5   $ 37    $ 74    $ 111   $ 148   $ 185
    6   $ 57    $ 114   $ 171   $ 228   $ 285
    7   $ 57    $ 114   $ 171   $ 228   $ 285
    8   $ 57    $ 114   $ 171   $ 228   $ 285
    9   $ 57    $ 114   $ 171   $ 228   $ 285
    10  $ 57    $ 114   $ 171   $ 228   $ 285";

$arrayCode = array();
$rows = explode("'n", $str);
foreach($rows as $idx => $row)
{
    $row = explode( "'t", $row );
    //to get rid of first item (the number)
    //comment it if you don't need.
    array_shift ( $row );
    foreach( $row as $field )
    {
        //to clean up $ sign
        $field = trim( $field, "$ ");
        $arrayCode[$idx][] = $field;
    }
}
print_r( $arrayCode );
?>