请参阅:http://www.geonames.org/export/codes.html。
我将这些数据放在两列的Excel文件中。 Column A
具有功能代码,Column B
有简要说明。
我d'像一个数组:
$listOfFeatures = array( 'ADM1'=>'first-order administrative division','ADM1H' => 'historical first-order administrative division');
我想也许一个Excel宏可以做到这一点 - 输出到一些.CSV文件。输出不必看起来像php数组。但是我可以很容易地调整它以使其工作。
有什么想法吗? 感谢。
使用$csv = array_map('str_getcsv', file('feature_code_abbrv.csv'));
更新
per http://www.php.net/manual/en/function.str-getcsv.php我想我越来越近了:
array(668) { [0]=> array(2) { [0]=> string(4) "ADM1" [1]=> string(36) " first-order administrative division" }
但不确定这个数组我是否可以用来填充下拉框?
答案 0 :(得分:0)
以下是我最终从Excel文件的两列获取关联数组的方法;我只需要一次这个数组,所以值得一些手动工作。
1)将仅包含两个required-columns的Excel文件保存到.CSV文件中。 2)针对.CSV文件运行以下代码
function makecsv() {
return array_map('str_getcsv', file('feature_code_abbrv.csv'));
}
$listOfFeaturesGeoNames = array();
$listOfFeaturesGeoNames = makecsv();
$outputlist = "outputlistfinal = array(' '=>'None',";
foreach ($listOfFeaturesGeoNames as $element) {
$outputlist.="'$element[0]' =>'". $element[1] . '\',';
}
上面的代码仍然产生了一个关联数组,只需要手动按摩一点点。之后,将该数组的var_dump
输出分配给php数组并加载到我的表单中以填充下拉列表。工作得很好!
希望这有助于某人。