将html输入数组字符串转换为php数组?
在PHP中,是否有方法或循环从大小不同的字符串构建数组 例如,我想转换将html输入数组字符串转换为php数组?,php,parsing,for-loop,input,Php,Parsing,For Loop,Input,在PHP中,是否有方法或循环从大小不同的字符串构建数组 例如,我想转换 $str1 = "page[1][name]"; $str2 = "content[1][language][2][name]"; str1的预期输出: $page = array 1: name str2的预期产出: $content = array 1: language 2: name 但我需要它是构建数组的同一
$str1 = "page[1][name]";
$str2 = "content[1][language][2][name]";
str1的预期输出:
$page = array
1:
name
str2的预期产出:
$content = array
1:
language
2:
name
但我需要它是构建数组的同一个函数,而不管有多少[]维
我是这样想的:
$tmp = explode("[", $str1);
$arr = (array)$tmp[0];
for ($i=0; $i<count($tmp)-1; $i++) {
$arr[$i] = array();
.....
.....
}
$tmp=explode(“[”,$str1);
$arr=(数组)$tmp[0];
对于($i=0;$i),您的输入看起来很像一个查询字符串,如果是这样,您可以使用
例如:
$str1 = "page[1][name]";
$str2 = "content[1][language][2][name]";
parse_str($str1, $v);
print_r($v);
parse_str($str2, $v);
print_r($v);
输出是您期望的结果:
Array
(
[page] => Array
(
[1] => Array
(
[name] =>
)
)
)
Array
(
[content] => Array
(
[1] => Array
(
[language] => Array
(
[2] => Array
(
[name] =>
)
)
)
)
)
您的输入看起来很像一个查询字符串,如果是这样,您可以使用
例如:
$str1 = "page[1][name]";
$str2 = "content[1][language][2][name]";
parse_str($str1, $v);
print_r($v);
parse_str($str2, $v);
print_r($v);
输出是您期望的结果:
Array
(
[page] => Array
(
[1] => Array
(
[name] =>
)
)
)
Array
(
[content] => Array
(
[1] => Array
(
[language] => Array
(
[2] => Array
(
[name] =>
)
)
)
)
)