php - php将字符串转换为数组以进行组?
问题描述
我有字符串组我想按组和子组爆炸
例如
operation.user.add
operation.user.edit
operation.permission.add
performance.tool.add
performance.tool.remove
operation.permission.edit
operation.tool.delete
operation.tool.remove
想要的结果如下:
Array
(
['operation'] => Array
(
['user'] => Array
(
[0] => 'add',
[1] => 'edit'
),
['permission'] => Array
(
[0] => 'add',
[1] => 'edit'
),
['tool'] => Array
(
[0] => 'delete',
[1] => 'remove'
),
),
['performance'] => Array
(
['tool'] => Array
(
[0] => 'add',
[1] => 'remove'
)
)
)
任何人都可以提供解决方案我如何将字符串转换为上述数组?
解决方案
假设这是一个字符串值,这可能是你能得到的最有效的:
$str = 'operation.user.add
operation.user.edit
operation.permission.add
performance.tool.add
performance.tool.remove
operation.permission.edit
operation.tool.delete
operation.tool.remove';
$output = [];
foreach (explode("\n", $str) as $string) {
$parts = explode('.', $string);
$output[$parts[0]][$parts[1]][] = $parts[2];
}
print_r($output);
输出:
Array
(
[operation] => Array
(
[user] => Array
(
[0] => add
[1] => edit
)
[permission] => Array
(
[0] => add
[1] => edit
)
[tool] => Array
(
[0] => delete
[1] => remove
)
)
[performance] => Array
(
[tool] => Array
(
[0] => add
[1] => remove
)
)
)
推荐阅读
- python - Python 枚举 1 和 0
- automapper - 调用 AutoMapper 的 Persist().InsertOrUpdate() 时“没有可用的构造函数”
- python - 每次有人使用命令时如何计算?
- python - 使用python中的相对路径寻址到上层目录
- r - 未能在 R 中使用 ggmap 和 Google Geocoding API 进行地理编码;在公司防火墙后面
- r - 在R中如何转义变量中的单个',然后将其发送到sqlQuery
- c# - 如何根据组合框wpf中的用户输入显示数据
- error-handling - 使用规划器运行问题文件时出现“未声明的要求”错误
- ruby-on-rails - 自动为用户设置密码 - 无需设计
- php - 将缺货库存状态添加到 Woocommerce 可变产品下拉列表