首页 > 解决方案 > 如何将字符串数组转换为 php 数组?

问题描述

如何将 Sting 数组转换为 PHP 数组?

"['a'=>'value one','key2'=>'value two']"

$data=['a'=>'value one','key2'=>'value two'];

如果有人知道任何解决方案,请告诉我


我想通过 textarea 获取数组输入。我想将其转换为 PHP 数组。

当我通过 textarea

['a'=>'value one','key2'=>'value two']

这是在提交 from 后发生的

"['a'=>'value one','key2'=>'value two']"

现在我如何从这个转换为 PHP 数组?

标签: phparrayslaravellaravel-livewire

解决方案


使用 eval() 的极其不安全的版本:

<?php

$a = "['a'=>'value one','key2'=>'value two']";

eval('$b = '.$a.';');

print('<pre>');
print_r($b);

仅在您确定其他人无法使用您的 textarea 输入时才使用!

使用替换将其转换为 json 对于公共表单来说是一个更好的选择。此外,如果您在工作中使用它,您可能会被解雇 :)

带有语法错误捕获:

<?php

$a = "['a'=>'value one','key2'=>'value two'dsbfbtrg]";

try {
    eval('$b = '.$a.';');
} catch (ParseError $e) {
    print('Bad syntax');
    die();
    // or do something about the error
}

print('<pre>');
print_r($b);

推荐阅读