繁体   English   中英

用多维数组中的键替换值

[英]Replace values with their keys in multidimensional array

我需要用它们各自的键替换多维数组中的所有值,但前提是该值不是数组。

从:

array(
    'key1' => array(
        'key2' => array(
            'key3' => 'val'
        )
    )
);

至:

array(
    'key1' => array(
        'key2' => array(
            'key3'
        )
    )
);

有人知道如何做到这一点吗?

这似乎或多或少地实现了您想要的功能( 小提琴 ):

<?php
function convert($arr) {
    $ret = array();
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            $ret[$key] = convert($value);
        } else {
            $ret[] = $key;
        }
    }
    return $ret;
}
$test = array(
    'key1' => array(
        'key2' => array(
            'key3' => 'val'
        )
    )
);
var_dump(convert($test));

输出:

array(1) {
  ["key1"]=>
  array(1) {
    ["key2"]=>
    array(1) {
      [0]=>
      string(4) "key3"
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM