我需要为Elasticsearch中的聚集动态计算多维数组键。
我有以下
$aggs['aggs']['name']
但是aggs和name需要循环填充。因此,例如:
$aggs['aggs']['name']['aggs'] = $glue;
// looping
$aggs['aggs']['name']['aggs']['name']['aggs'] = $glue;
// looping
$aggs['aggs']['name']['aggs']['name']['aggs']['name']['aggs'] = $glue;
// etc
数组键需要使用键aggs
和name
我如何在数组中动态创建键?
谢谢
希望这就是你想要的。我用键创建了一个数组。然后遍历该数组以创建多维数组
$keys = array("aggs","name","aggs","name","aggs");
$aggs = array();
$aggs = add_keys_dynamic($aggs,$keys,"test");
echo "<pre>";
print_r($aggs);
function add_keys_dynamic($main_array, $keys, $value){
$tmp_array = &$main_array;
while( count($keys) > 0 ){
$k = array_shift($keys);
if(!is_array($tmp_array)){
$tmp_array = array();
}
$tmp_array = &$tmp_array[$k];
}
$tmp_array = $value;
return $main_array;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句