Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中,如何将数组存储在按数组块分割的表中?_Php_Arrays_Laravel_Multidimensional Array_Foreach - Fatal编程技术网

在php中,如何将数组存储在按数组块分割的表中?

在php中,如何将数组存储在按数组块分割的表中?,php,arrays,laravel,multidimensional-array,foreach,Php,Arrays,Laravel,Multidimensional Array,Foreach,我正在获取数组格式的数据。有时我会获取重复的数据 在第二个索引之后。所以我决定将数组拆分为3个索引 php的数组\块函数。但在foreach循环上执行此操作之后 只有第0个索引。我要存储所有0、1、2。。桌子上有新的 划船 我正在使用array_chunk分割我的数组 Array ( [0] => Array ( [0] => Suhas shinde [1] => Jogeshwari

我正在获取数组格式的数据。有时我会获取重复的数据 在第二个索引之后。所以我决定将数组拆分为3个索引 php的数组\块函数。但在foreach循环上执行此操作之后 只有第0个索引。我要存储所有0、1、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
}

您需要将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(); 

}
您需要将其更改为实际模型的名称


我希望这有助于

您的分割阵列与原始阵列完全不同?这里有一些你没有展示给我们的魔法吗?请展示原始阵列。。。然后,您用来拆分它的代码。。。。。然后是新的拆分数组。我在这里添加了我的代码@RiggsFollyWhere,什么是
$string
string是我的文本,我的变量是从那里获取数据的。我正在用xpdfthanks将我的pdf转换为文本以获得您的答复,但在第行
$share\u holder\u info->shares=$value[2];
@amitstar上显示错误
“未初始化字符串偏移量:2
,请尝试我的更新答案。我意识到您以不同的方式检查数组值。
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(); 

}