对于路由应用程序,我需要一些想法以解决以下问题。我有一个包含动态数据而不是恒定大小的数组。在这个数组中存储着街道名称,街道号码,电话号码,邮政编码和位置...在每个条目之后都存在一个称为“ -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]);
}
}