如何将一个很长的mysql线串转换为数组(逐点)的最佳方法,我认为使用explode是一种方法,但在传递字符串参数之前它需要一点点文本操作才能爆炸。
这是查询结果的 var_dump:
array (size=1)
'route' => string 'LINESTRING(-25.3233034167988 -57.640113830566406,-25.3229348965009 -57.64023184776306,-25.322653656571582 -57.63954520225525,-25.323410093517822 -57.63928771018982,-25.3229058027454 -57.6378607749939,-25.322973688164012 -57.63678789138794,-25.323371301994506 -57.63360142707825,-25.322003892857673 -57.633676528930664,-25.31995759927745 -57.633376121520996,-25.319336915717006 -57.63331174850464,-25.317988857651912 -57.63302206993103,-25.317377862364236 -57.63294696807861,-25.317688209562228 -57.62954592704773'... (length=4354)
目标是有一个这样的数组:路线:
array (size=4354)
0 => { x=> '-25.3233034167988', y=> '-57.640113830566406'}
1 => { x=> '-25.3229348965009 ', y=> '-57.64023184776306'}
等等
使用 nickb 代码,结果是:
array (size=112)
0 =>
array (size=2)
'x' => string '-25.3233034167988' (length=17)
'y' => string '-57.640113830566406' (length=19)
1 =>
array (size=2)
'x' => string '-25.3229348965009' (length=17)
'y' => string '-57.64023184776306' (length=18)
2 =>
array (size=2)
'x' => string '-25.322653656571582' (length=19)
'y' => string '-57.63954520225525' (length=18)
完美的