【问题标题】:Turn an array format string into actual Array in PHP在 PHP 中将数组格式字符串转换为实际的数组
【发布时间】:2018-12-07 11:46:20
【问题描述】:

我有一个这样存储的字符串:

["something", "someone", "anything", "anyone"]

有没有直接函数可以将这样的东西转换成数组?我试过eval(),但它给出了一个意外的文件结束错误。

【问题讨论】:

  • 你是什么意思.. 如$string = '["something", "someone", "anything", "anyone"]';?如果是这样,那么只需输入 cast it - var_dump((array) $string);
  • @treyBake 是的,这就是字符串的存储方式。谢谢。我会试试的。 :)
  • 你也可以试试$string = '["something", "someone", "anything", "anyone"]'; $array = json_decode($string); var_dump($array);
  • 试试json_decode('["something", "someone", "anything", "anyone"]')

标签: php arrays string


【解决方案1】:

你的价值就像 json 你只需要像下面的代码一样解码它:

$string = '["something", "someone", "anything", "anyone"]'; 
$array = json_decode($string);
var_dump($array);

喜欢 @elmasterlow 在评论中说

【讨论】:

    【解决方案2】:

    例如,您可以通过explode 和几个str_replace 调用来做到这一点:

    $string = '["something", "someone", "anything", "anyone"]';
    $string = str_replace("[","",$string);
    $string = str_replace("]","",$string);
    $string = str_replace('"',"",$string);
    $array = explode(",",$string);
    var_dump($array);
    

    正如 cmets 所说,json_decode 也可以工作:

    $array = json_decode($string,true);
    

    【讨论】:

    • 毫无疑问。只是想展示另一种方式。
    猜你喜欢
    • 2015-12-31
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多