在PHP中使用键值对数组构造JSON数据

键值数组是PHP中最常用的数据结构,一个数组中每个元素都可以用 key=>value 表示,与JSON如出一辙。

这里举一个比较常用的例子 :返回所有人的兴趣列表,JSON示例为

[ {"name":"Corey","favList":["C++","Python","R"]},
  {"name":"Kiven","favList":["Java","Matlab"]} ]

使用PHP构建的代码:

$resultList = array();
while(condition){
	//为 $name 和 $favListArray 赋值
	$newItem = array(
		"name"=>$name,
		"favList"=>$favListArray
		);
	$resultList[] = $newItem;
}

echo json_encode($resultList);
几乎所有JSON构造方法都可由此扩展

 



好的,下面是一段示例代码,可以参考一下: ```javascript <template> <div id="map"></div> </template> <script> import { createApp } from 'vue'; import 'ol/ol.css'; import Map from 'ol/Map'; import View from 'ol/View'; import { Tile as TileLayer, Vector as VectorLayer } from 'ol/layer'; import { OSM, Vector as VectorSource } from 'ol/source'; export default { data() { return { map: null, layers: {}, // 图层键值对数组 }; }, mounted() { this.initMap(); }, methods: { initMap() { this.map = new Map({ target: 'map', layers: [ new TileLayer({ source: new OSM(), }), ], view: new View({ center: [0, 0], zoom: 2, }), }); }, addVectorLayer(layerName, features) { const vectorSource = new VectorSource({ features, }); const vectorLayer = new VectorLayer({ source: vectorSource, }); this.map.addLayer(vectorLayer); this.layers[layerName] = vectorLayer; // 存储图层到数组 }, removeVectorLayer(layerName) { const vectorLayer = this.layers[layerName]; if (vectorLayer) { this.map.removeLayer(vectorLayer); delete this.layers[layerName]; // 从数组删除图层 } }, }, }; </script> ``` 上面的代码,我们定义了一个 `layers` 对象来存储创建的矢量图层。在 `addVectorLayer` 方法,我们首先创建一个 `VectorSource` 和一个 `VectorLayer`,然后将 `VectorLayer` 添加到地图上,并将其存储到 `layers` 对象。在 `removeVectorLayer` 方法,我们可以根据图层名称从 `layers` 对象获取对应的图层,并将其从地图上移除,并从 `layers` 对象删除。这样就方便了我们根据图层名称获取对应的图层了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值