我正在获取数组格式的数据。有时我会得到重复的数据 在第二个索引之后。所以我决定将数组分为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
}
答案 0 :(得分:0)
您需要将foreach更改为此,以便为每个记录集创建新的Model实例。
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();
}
您需要将其更改为实际模型的名称。
我希望这对您有帮助