我完成了我的作业并在发布之前尽可能地进行了测试,这是众所周知的。正如标题所说我的preg_match_all没有找到所有的匹配,但是如果我用phptester.net以相同的方式运行它就可以了。我已经阅读了有关该功能的文档,以及所有(尽可能多的)我在这里发布的相同问题的帖子但没有任何效果。在我的实际代码中print_r不存在,我用它来证明3个元素应该在那里。在我的实际节目中,我只能找到第一场比赛:" -77.519506"。
<?php
$coords = "<Point><coordinates>-77.519506,43.113491,0.0</coordinates></Point>";
preg_match_all("/-?\d{1,2}\.\d{0,6}/",$coords,$latLong);
print_r($latLong);
print($latLong[0][0]);//prints -77.519506
print($latLong[0][1]);//prints NULL
答案 0 :(得分:1)
您需要在每一行使用str_getcsv而不是爆炸:
list($div,$randID,$street,$city,$zipCode,$district,$coords) = str_getcsv($row);
答案 1 :(得分:0)
我建议你使用SimpleXML来提取坐标的内容
$point = new SimpleXMLElement($xmlstr);
$coords=$point->Point->coordinates;
然后你可以简单地做
$num=explode(',', $coordinates);