$var = "['test', 'test2', 'test3']";
如何在PHP中创建一个可行的数组?
我试过爆炸($ var,",");但这似乎没有用,除非这次尝试出现问题。
答案 0 :(得分:3)
explode($var, ",");
错了。 explode
需要第一个参数为分隔符,第二个参数为字符串。替换[]
,然后explode
-
$var = "['test', 'test2', 'test3']";
$var = str_replace(array('[', ']'), '', $var);
$arr = explode(',', $var);
答案 1 :(得分:1)
[akshay@localhost tmp]$ cat test.php
<?php
$var = "['test', 'test2', 'test3']";
print_r( json_decode(str_replace("'","\"",$var)) );
?>
<强> 输出 强>
[akshay@localhost tmp]$ php test.php
Array
(
[0] => test
[1] => test2
[2] => test3
)
答案 2 :(得分:1)
我会说它看起来像json_decode的工作,但它无效的json ...有一种方法可以使它有效:
How to json_decode invalid JSON with apostrophe instead of quotation mark
答案 3 :(得分:0)
PHP中有一个eval()
函数,它将字符串转换为PHP语句。该字符串必须是有效的PHP语句。
在您的情况下"['test', 'test2', 'test3']";
无效声明。您可以使用类似于以下语法的内容。请注意,$ x是单引号,因为双引号中的$ x将返回值。
$var = "['test', 'test2', 'test3'];";
eval('$x = ' . $var);
print_r($x);