我正在编写一个PHP函数,并且我想问一个问题。我以特定方式爆炸字符串时遇到问题。我试图解释,以及我可以下面。将字符串转换为具有键和值的多维数组
这是什么?
嗯..我正在努力减少我的网站上的表的数量的解决方案。我可以将用于管理员权限的表转换为用户表中的一个字段。但是,当加载网站时,我需要将文本字段分解为数组。该代码看起来像:
<?php
$string = "server1=(ban=(perm=false,normal=true),edit=true,delete=false),adminlog=true,server2=(ban=(perm=false,normal=true),edit=false,delete=true)";
function parseRights($s=""){
$context = array();
// code here
}
print_r(parseRights($string));
?>
基本上,我希望得到的结果是:
Array
(
[server1] => Array
(
[ban] => Array
(
[perm] => false
[normal] => true
)
[edit] => true
[delete] => false
)
[adminlog] => true
[server2] => Array
(
[ban] => Array
(
[perm] => false
[normal] => false
)
[edit] => false
[delete] => true
)
)
真假应该是PHP真假。如果以这种方式写出来,我知道它会显示1表示真正的位置,并且没有0表示0,但它只是为了向您展示我希望数组在运行该函数后的样子。我希望它能够创建一个“无限”数组,每个新的括号创建一个新的数组。如果函数能以相同的方式工作,我会很乐意接受其他方法来区分正确的权利。
为什么你首先使用这样的字符串呢?你可以从数组或JSON开始。 – AbraCadaver
它将连接到数据库并从用户表中获取字符串...这只是由于测试目的..我还没有连接到数据库。我想检查是否可以将它分解为多维数组。我想在一个函数内部使用这个函数,在我想要的网站上。 – Teskon
可以但为什么它是复杂的方式。可以将它存储在数据库的关系结构中,或者不要在数据库中存储序列化数组,然后将其转换回数组。 – AbraCadaver