我有一个看起来像数组的字符串,当我var_dump该变量时,我将其视为字符串。?
我已经完成了对该字符串的编码和解码,使用rtrim和ltrim修剪空白,以便将其转换为数组。 var dump将字符串显示为波纹管。
string(271) "
Array
(
[0] => Array
(
[tmp_name] => F:\xampp\tmp\phpC90B.tmp
[error] => 0
[name] => development-km-technologies.jpg
[type] => image/jpeg
[size] => 55079
)
)
"
需要数组中任何键的值。
答案 0 :(得分:0)
由于我不记得在哪里找到此代码片段,因此将其发布为Wiki答案。
此代码会将您的字符串数组转换为真实数组。
function print_r_reverse($input)
{
$output = str_replace(['[', ']'], ["'", "'"], $input);
$output = preg_replace('/=> (?!Array)(.*)$/m', "=> '$1',", $output);
$output = preg_replace('/^\s+\)$/m', "),\n", $output);
$output = rtrim($output, "\n,");
return eval("return $output;");
}
$in = '
Array
(
[0] => Array
(
[tmp_name] => F:\xampp\tmp\phpC90B.tmp
[error] => 0
[name] => development-km-technologies.jpg
[type] => image/jpeg
[size] => 55079
)
)';
$arr = print_r_reverse(trim($in));
它使用eval,所以不要在不安全的字符串上使用它。