Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php eval的替代方案(';$array_test=array(';$test.';)';)_Php_Arrays_Type Conversion_Eval - Fatal编程技术网

Php eval的替代方案(';$array_test=array(';$test.';)';)

Php eval的替代方案(';$array_test=array(';$test.';)';),php,arrays,type-conversion,eval,Php,Arrays,Type Conversion,Eval,我正在寻找一个替代方案 $test = "1=>'msg_test1',3=>'msg_test2',9=>'msg_test3'"; eval('$array_test = array('.$test.');'); 有人知道我如何从字符串中安全地获得数组吗 提前感谢您的帮助 如果我理解你的问题,那么你应该像这样格式化你的字符串 $test=“value1,value2,value2” 然后继续进行爆炸 $array_test=explode(',',$test) 你的阵列

我正在寻找一个替代方案

$test = "1=>'msg_test1',3=>'msg_test2',9=>'msg_test3'";
eval('$array_test = array('.$test.');');
有人知道我如何从字符串中安全地获得数组吗


提前感谢您的帮助

如果我理解你的问题,那么你应该像这样格式化你的字符串

$test=“value1,value2,value2”

然后继续进行爆炸

$array_test=explode(',',$test)

你的阵列

$array_test = array(
    '1' => 'value1'
    '2' => 'value2'
    '3' => 'value3'
);

您可以使用如下方法手动解析它:

产生:

array (size=3)
  1 => string 'msg_test1' (length=9)
  3 => string 'msg_test2' (length=9)
  9 => string 'msg_test3' (length=9)

不使用JSON(或XML,或SEN或任何其他已知格式)等数据交换格式的任何原因?如果eval是您的最佳选择,您可能做得不对请注意
eval
=
evil
:)这可能是XY问题,请告诉我们您想要实现什么。如果$test中缺少引号,则表示它无效
array (size=3)
  1 => string 'msg_test1' (length=9)
  3 => string 'msg_test2' (length=9)
  9 => string 'msg_test3' (length=9)