我有以下动态创建的变量:$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)我的代码有什么问题?提前致谢。
1 回答
BIG阳
TA贡献1859条经验 获得超6个赞
理想情况下,您应该只利用 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++) {
$array[$matches[1][$i]] = $matches[2][$i];
}
print_r($array);
这打印:
Array
(
[a] => 123
[b] => 456
)
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消