我有这样的事情:
array('fields' => array(
0 => array('name' => 'family_name',
'label' => 'Family Names'),
array('name' => given_names',
'label' => 'Given Names'),
array('name' => 'additional_names',
'label' => 'Additional Names'),
array('name' => 'honorific_prefixes',
'label' => 'Honorific Prefixes'),
array('name' => honorific_suffixes',
'label' => 'Honorific Suffixes')
)
)
在变量中作为字符串。整个事情是在一个数据库领域。如果输出变量,则为字符串。 我会有一个内容为子阵列的数组。如何将此值转换为数组?
我用谷歌搜索,但我发现爆炸和分裂等等,但我想我错过了找到任何解决方案的关键词。
感谢您在这种情况下的任何帮助。
答案 0 :(得分:1)
尝试使用eval(),https://secure.php.net/manual/en/function.eval.php
eval("\$array = $string;");
print_r($array);
答案 1 :(得分:1)
您的字符串未正确构建以将其放入eval函数中。内部的两个字符串不具有前面的引用,这将导致解析错误。但你可以用以下方法纠正它:
$string = str_replace("=> given_names'", "=> 'given_names'", $string);
$string = str_replace("=> honorific_suffixes'", "=> 'honorific_suffixes'", $string);
之后你可以使用shapeshifter的答案(请将答案标记为正确答案):
eval("\$array = $string;");
var_dump($array);
如果您只想查找保存和恢复阵列的方法,也可以使用serialize / unserialize。