我知道这可能是一个简单的问题,它之前一定有答案,但这种问题你不知道如何谷歌。
我正在做一个内联,我有一个大的文本区,其中用户从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 );
?>