我知道这是一个简单的概念(尽管我很困难)但我有一些经纬度数据。它是从一个.data文件(而不是作为一个.db的,不是我的选择),并在这里阅读是我到目前为止有:PHP Array:将不同的键分配给值
$current_data = file("/my_data_file.data");
$latest_data = array();
foreach ($current_data as $entry)
{
$latest_data[] = $entry;
}
$latest_data = preg_replace("!\r?\n!", "", $latest_data);
echo json_encode($latest_data);
该输出数据,像这样(没有全部粘贴在这里从出血保存你的眼睛):
[ “-118.510 33.896”, “ - 120.762 32.826”, “ - 122.959 31.716”, “ - 125.104 30.570”, “ - 127.198 29.389”, “ - 129.243 28.175” “-131.243 26.931”,“ - 133.198 25.660”,“ - 135.112 24.362”,“ - 136.988 23.041”]
所以它是一个巨大的数组,每对经过一对逗号和每对引号。
我已经使用了这个,并且有大量关于php数组和键/值的信息,但是什么是正确的方法呢?我发现自己做得比想要的要复杂得多。
在foreach
循环假设它会像
$latest_data[] = array('latitude' => $entry[the_lat_number], 'longitude' => $entry[the_long_number]);
对此事的任何输入赞赏。
更新:在VIM中查看数据的示例(它在视觉上不会出现白色问题,但基于使用explode
,似乎确实存在)。
你确切的问题是什么?为什么'$ latest_data [] = array('latitude'=> $ entry [the_lat_number],'longitude'=> $ entry [the_long_number]);'不工作? – Reeno
你说你“假设它会是......”,你是否尝试过? –
@Reeno我不打算手动输入lat或long,这没有任何意义。 @cillosis当然是。看起来'爆炸'是一个体面的方法,但是如果这是最好的,我不太确定这个不一致的空白。 – DnfD