如何从数组准备数据以存储从索引0和索引1到索引1到索引2的条目?

时间:2019-06-19 14:59:42

标签: php arrays

对于路由应用程序,我需要一些想法以解决以下问题。我有一个包含动态数据而不是恒定大小的数组。在这个数组中存储着街道名称,街道号码,电话号码,邮政编码和位置...在每个条目之后都存在一个称为“ -END-”的标识符。在这个标识符下,我想爆炸数据并存储在一个新的单独数组中。现在,我想将索引0和索引1中的数据存储在数据库中,因为这是一个完整的过程。保存之后,我要存储索引1和索引2中的数据,然后如果索引2和索引3中存在数据,依此类推。

使用var_dump()的数组内容如下所示:

Madtricks:::
Herr Müller:::
ahhvvbe_hh@sdsfsfdsfds.de:::
Brächerwog:::
5:::
10107:::
Hamburgh:::
475454654:::
Sonstiges: Keine Angabe:::
Links oben:::
-END-::: //Here is the end of the complete dataset
Test-Company:::
Herr Mustermann:::
mtest.de@pmail.com:::
Littenweg:::
12:::
10627:::Hamburgh:::
1555444522:::Sonstiges: Keine Angabe::: Keiner:::
-END-::: //Here is the end of the complete dataset
Next Company:::
Frau Schacht:::
ahhvvbe_hh@fgfdhfd.de:::
Hubertusstraße:::
5:::
10107:::
Hamburg:::
475454654:::
Sonstiges: Keine Angabe:::
Links oben:::
-END-::: //Here is the end of the complete dataset

我尝试了一些循环,但是找不到任何方法来存储数据集1和2,然后是2和3,依此类推。

最终结果应如下所示:(简短版)

function SaveData()
{
 1st save: saveIntoDatabase(Madtricks, Brächerwog, [further datas], Test-Company, Littenweg);
 2nd save: saveIntoDatabase(Test-Company, Littenweg,  [further datas] Next Company, Hubertusstraße);
}

最后,我想在数据库中进行一次完整的浏览,从地址1到地址2,然后从地址2到地址3,依此类推。感谢您的提示。

更新:

我做了以下事情,它似乎可以工作,但也许不是最好的解决方案?

$tourData=base64_decode($data['TourData']);
$concat = array();
$explodeAtValueEnd = array();
$explodeAtValueEnd = explode("-END-",$tourData);

for($j=0;$j<count($explodeAtValueEnd);$j++)
{
    $concat[]=$explodeAtValueEnd[$j];
    $concat[]=$explodeAtValueEnd[$j+1];

    if(count($concat)==2)
    {
        $nameStart = $concat[0];
        $nameZiel = $concat[1];
        if(strlen($nameStart) >3 && strlen($nameZiel) >3)
            Save($nameStart, $nameZiel);
        unset($concat);
        unset($explodeAtValueEnd[0]);
    }
}

0 个答案:

没有答案