PHP键值对数组获取键值

使用 array_keys函数

array_keys(array $array): array


array_keys(array $array, mixed $search_value, bool $strict = false): array

array_keys($array): array

返回所有键名

array_keys($array, $search_value, $strict = false): array

返回值等于search_value的键名,可能存多个键名有同样的值;

strict是否严格检查 类似于‘===’

例子

 <?
$test = array(
	'name1' => 'a1',
	'name2' => 'a2',
	'name3' => 'a2'
);
print_r($test);


$re = array_keys($test);
print_r($re);


$re = array_keys($test,'a1', true);
print_r($re);


$re = array_keys($test,'a2', true);
print_r($re);
?>

结果

Array ( [name1] => a1 [name2] => a2 [name3] => a2 )

Array ( [0] => name1 [1] => name2 [2] => name3 )

Array ( [0] => name1 )

Array ( [0] => name2 [1] => name3 )

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Vue3组件,用于增删OpenLayers 6中的矢量图层。我们将图层存储在一个键值对数组中,以便能够方便地通过图层名称获取它。 ```html <template> <div ref="mapContainer" class="map-container"></div> </template> <script> import { ref, onMounted } from 'vue'; import Map from 'ol/Map'; import View from 'ol/View'; import TileLayer from 'ol/layer/Tile'; import OSM from 'ol/source/OSM'; import VectorLayer from 'ol/layer/Vector'; import VectorSource from 'ol/source/Vector'; import { Circle as CircleStyle, Fill, Stroke, Style } from 'ol/style'; export default { name: 'OpenLayersMap', setup() { const mapContainer = ref(null); let map; const layers = {}; const addLayer = (name, layer) => { layers[name] = layer; map.addLayer(layer); }; const removeLayer = (name) => { if (layers[name]) { map.removeLayer(layers[name]); delete layers[name]; } }; onMounted(() => { const rasterLayer = new TileLayer({ source: new OSM(), }); const vectorSource = new VectorSource(); const style = new Style({ image: new CircleStyle({ radius: 5, fill: new Fill({ color: 'rgba(255, 0, 0, 0.1)' }), stroke: new Stroke({ color: 'red', width: 1 }), }), }); const vectorLayer = new VectorLayer({ source: vectorSource, style: style, }); map = new Map({ target: mapContainer.value, layers: [rasterLayer, vectorLayer], view: new View({ center: [0, 0], zoom: 2, }), }); addLayer('vector', vectorLayer); }); return { mapContainer, addLayer, removeLayer, getLayers: () => layers, }; }, }; </script> <style> .map-container { width: 100%; height: 100%; } </style> ``` 在这个组件中,我们首先使用`ref`来获取`<div>`元素的引用,这是地图容器。我们还定义了一个`map`变量和一个`layers`对象来存储我们的图层。 在`onMounted`钩子函数中,我们创建了一个OpenLayers地图实例,并添加了一个OSM图层和一个矢量图层。我们还定义了一个`addLayer`函数和一个`removeLayer`函数,用于将图层添加到地图上或从地图上删除。 最后,我们在返回的对象中公开了`addLayer`、`removeLayer`和`getLayers`方法,以便外部组件可以方便地管理图层。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值