我试图找到一种方法将字符串类型变量转换为数组类型变量。更确切地说,我正在寻找的是改变这个(例子):
$v = ['1', 'a', ['2', 'b', ['3'], 'c']];
请注意,这不是json格式的字符串。 进入这个:
{{1}}
注意第一个例子中的双引号,$ v是一个字符串,而不是一个数组,这是所需的效果。
答案 0 :(得分:3)
使用str_replace
(准备解码)和json_decode
函数的简单解决方案:
$v = "['1', 'a', ['2', 'b', ['3'], 'c']]";
$converted = json_decode(str_replace("'",'"',$v));
print_r($converted);
输出:
Array
(
[0] => 1
[1] => a
[2] => Array
(
[0] => 2
[1] => b
[2] => Array
(
[0] => 3
)
[3] => c
)
)
答案 1 :(得分:2)
$v = "['1', 'a', ['2', 'b', ['3'], 'c']]";
eval("\$v = $v;");
var_dump($v);
PS:确保$ v string不包含意外代码。
答案 2 :(得分:1)
这应该有效:
$json = "['1', 'a', ['2', 'b', ['3'], 'c']]";
$json = str_replace("'",'"',$json);
$result_array = json_decode($json); // This is your array