我正在开发一个PHP应用程序,我将字符串数组转换为对象数组有问题。我尝试使用(数组)强制将我的字符串转换为数组,但它不会起作用。这是我的字符串(调试):
string '['method'=>'post','action'=>'#']' (length=32)
正如您所看到的,它是一个完美的字符串数组,我想转换该字符串。
我的问题很简单,PHP是否有将字符串直接转换为数组的功能(我认为没有)或者我必须使用explode转换我的字符串?
答案 0 :(得分:0)
以下是定义数组的方法。 但在编写代码之前,请查看 manuels
$arrayName = array('method' => 'post', 'action' => '#');
输出将读取
array (size=2)
'method' => string 'post' (length=4)
'action' => string '#' (length=1)
答案 1 :(得分:0)
从php 5.4你可以简单地评估: 的eval(" \ $ F = ['方法' =>'后''动作' =>'#&#39 ];&#34); 的var_dump($ F);
对于老人,你必须稍微修改一下弦乐,改变第一个" ["至"数组("以及最后一个"]"至")"。
有点重复答案 2 :(得分:0)
您可以使用preg_split
和foreach()
来完成这项工作:
$str = "['method'=>'post','action'=>'#']";
$splitArray = preg_split("/[,']+/", $str);
foreach ($splitArray as $k => $val) {
if ($val == '=>') {
$newArr[$splitArray[$k - 1]] = $splitArray[$k + 1];
}
}
var_dump($newArr);
/*newArr
Array
(
[method] => post
[action] => #
)*/