PHP字符串表示为数组到数组

时间:2015-06-01 08:12:06

标签: php

$var = "['test', 'test2', 'test3']";

如何在PHP中创建一个可行的数组?

我试过爆炸($ var,",");但这似乎没有用,除非这次尝试出现问题。

4 个答案:

答案 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);