在PHP中如何展开多维数组,并将原始键访问路径作为单个键存储的方法。

 首先,我们可以使用PHP中的array_walk_recursive函数来遍历多维数组,并使用回调函数来处理每个元素。在回调函数中,我们可以将每个元素的键路径作为单个键存储到一个新数组中。下面是一个示例代码:

function flatten_array($array) {
  $result = array();

  array_walk_recursive($array, function($value, $key) use (&$result) {
    $result[$key] = $value;
  });

  return $result;
}

// 示例数组
$my_array = array(
  "foo" => "bar",
  "baz" => array(
    "qux" => "quux",
    "quux" => array(
      "corge" => "grault"
    )
  )
);

// 展开数组
$flat_array = flatten_array($my_array);

// 打印结果
print_r($flat_array);
Array
(
    [foo] => bar
    [baz.qux] => quux
    [baz.quux.corge] => grault
)

可以看到,原始数组中的每个键访问路径都被作为单个键存储在了新数组中。这种方法可以方便地将多维数组展开并按照特定的格式存储,便于后续处理和使用。

注意:创建一个匹配函数,unflatten它将反转该过程(例如,如果密钥

猜你喜欢

转载自blog.csdn.net/weixin_38612163/article/details/129994321