如何在php中将数组存储在由array_chunk分割的表中? [关闭]
Posted
技术标签:
【中文标题】如何在php中将数组存储在由array_chunk分割的表中? [关闭]【英文标题】:How to store array in table split by array_chunk in php? [closed] 【发布时间】:2019-05-03 13:26:02 【问题描述】:我正在获取数组格式的数据。有时我会得到重复的数据 在第二个索引之后。所以我决定将数组拆分为 3 个索引 php的array_chunk函数。但是在foreach循环上这样做之后 只有第 0 个索引。我想将所有 0th,1st,2nd .. 存储在新的表中 行。
Array
(
[0] => Array
(
[0] => xyz
[1] => dublin
[2] => 2
[3] => yxd
[4] => canada
[5] => 2
)
)
我正在使用 array_chunk 来拆分我的数组。
Array
(
[0] => Array
(
[0] => Suhas shinde
[1] => Jogeshwari
[2] => 2
)
[1] => Array
(
[0] => Suhas shinde
[1] => Jogeshwari
[2] => 2
)
)
现在,我必须将其存储在表中。所以我使用了 foreach 循环:
foreach ($matches as $value)
$share_holder_info->trad_id = $rand_id;
$share_holder_info->name = $value[0];
$share_holder_info->address = $value[1];
$share_holder_info->shares = $value[2];
$share_holder_info->save();
它只存储表中数组的第 0 个索引。
if (preg_match_all('~(?:\G(?!\A)|In respect of Shareholders)\s*[^:\r\n]+:\h*\K.*~', $string, $matches))
$matches = array_chunk($matches[0],3);
//foreach loop
【问题讨论】:
您的拆分数组看起来一点也不像您的原始数组?这里有什么魔法你没有向我们展示吗? 请显示原始数组...然后是您用来拆分它的代码.....然后是新的拆分数组。 我添加了我的代码@RiggsFolly$string
是哪里和什么
string 是我的文本,我从中获取数据的变量。我正在使用 xpdf 将我的 pdf 转换为文本
【参考方案1】:
您需要将您的 foreach 更改为此以允许为每个记录集创建新的模型实例。
foreach ($matches as $value)
$share_holder_info = new ShareHolderInfo();
$share_holder_info->trad_id = $rand_id;
$share_holder_info->name = $value[0];
$share_holder_info->address = $value[1];
$share_holder_info->shares = $value[2];
$share_holder_info->save();
您需要将其更改为实际模型的名称。
希望对你有帮助
【讨论】:
感谢您的回复,但它显示错误"Uninitialized string offset: 2
在线$share_holder_info->shares = $value[2];
@amitsutar 试试我更新的答案。我意识到您以不同的方式审查数组值。以上是关于如何在php中将数组存储在由array_chunk分割的表中? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章