如何将可变数组结构传递给数组

我有以下动态创建的变量:


$var = "'a'=>'123', 'b'=>'456'";

我用它来填充一个数组:


$array=array($var);

我不能这样做,$array=array('a'=>'123', 'b'=>'456')因为 $var 总是不同的。


所以它告诉我:


Array

(

    [0] => 'a'=>'123', 'b'=>'456'

)

这是错误的,因为我需要得到:


Array

(

    [a] => 123

    [b] => 456

)

我的代码有什么问题?提前致谢。


慕仙森
浏览 147回答 1
1回答

BIG阳

理想情况下,您应该只利用 PHP 的语法来填充关联数组,如下所示:$array = [];$array['a'] = '123';$array['b'] = '456';但是,您实际上可以编写一个脚本来解析您的输入以生成关联数组:$var = "'a'=>'123', 'b'=>'456'";preg_match_all ("/'([^']+)'=>'([^']+)'/", $var, $matches);$array = [];for ($i=0; $i < count($matches[0]); $i++) {&nbsp; &nbsp; $array[$matches[1][$i]] = $matches[2][$i];}print_r($array);这打印:Array(&nbsp; &nbsp; [a] => 123&nbsp; &nbsp; [b] => 456)
打开App,查看更多内容
随时随地看视频慕课网APP