php: textarea excel 粘贴到数组

标签 php mysql arrays

我知道这可能是个简单的问题,之前肯定有人回答过,但您不知道如何通过 google 搜索这类问题。

我正在做一个内部网,我有一个很大的 texarea,用户从 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 表中? 我对使用 explode() 犹豫不决,但我不确定每列之间的间距是否始终相同,也许有一种更好的方法可以做到这一点。

如果这已经在其他地方讨论过,请指出它。

非常感谢

最佳答案

按行 '\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 );
?>

关于php: textarea excel 粘贴到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7562314/

相关文章:

php - Sqlite 3 插入和替换在超过 1 个唯一列上失败

arrays - 使用 case 语句时,SQL Server 2016 FOR JSON PATH 返回字符串而不是数组

ios - 我们如何在ios中将DateAndTime设置为升序

星期几的 PHP 或 MySQL 日期格式

javascript - 如果返回的数据是 javascript,$.ajax 会自动执行脚本吗?

php - 为什么这个 jQuery Replace() 不能在 <a 标签中工作,尽管我让它在 <p 标签中工作?

php - getDbTable()->select()->where 问题 (Zend Framework 1.x)

mysql - 性能改进 : Left outer Join, Order By, Subquery: Index not picked by the main query

php - 从数据库条目中删除 PHP 脚本删除所有条目

javascript - 如何选择数组中的最后一个东西?