首页 > 解决方案 > 从字符串生成嵌套数组

问题描述

我想从一个字符串生成一个嵌套数组。

字符串看起来像这样 $item = "profile:my_wallet:btn_recharge";

我想把它转换成这样的嵌套数组 ["profile"]["my_wallet"]["btn_recharge"]

标签: php

解决方案


您可以使用的是一个简单的递归,可以随心所欲地深入。

function append(array $items, array $array = []): array
{
    $key = array_shift($items);
    if (!$key) return $array;
    $array[$key] = append($items, $array);
    return $array;
}

$array = append(explode(':', "profile:my_wallet:btn_recharge"));

结果$array如下所示,可以按照您的要求访问

$array['profile']['my_wallet']['btn_recharge'];
array (
  'profile' =>
  array (
    'my_wallet' =>
    array (
      'btn_recharge' =>
      array (
      ),
    ),
  ),
)

推荐阅读