用 PHP 和 str_replace 整理一个类似 JSON 的字符串
Tidying up a JSON-like string with PHP and str_replace
我正在将一个 inout 字段值放入我的数据库中,它具有以下字符串的结构:
[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]
现在我想让它在数据库中更具可读性,并将字符串从所有不必要的字符中删除,变成如下所示:
Product 1, Product 2, Product 3
我显然可以用以下方法做到这一点:
str_replace(',',', ',str_replace('[','',str_replace(']','',str_replace('{\"value\":\"','',str_replace('\"}','',$INPUT_FIELD)))));
但这感觉有点笨拙。什么是更好的解决方案?
提前致谢!
编辑
Var dumping $_POST 向我展示了特定输入字段:
["project_products_used"]=> string(135) "[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]"
只是 json_decode it to array and use array_column and implode 有一个你想要的字符串:
<?php
$a = "[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]";
var_dump(implode(", ", array_column(json_decode($a), "value")));
输出:
string(31) "Product 1, Product 2, Product 3"
我正在将一个 inout 字段值放入我的数据库中,它具有以下字符串的结构:
[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]
现在我想让它在数据库中更具可读性,并将字符串从所有不必要的字符中删除,变成如下所示:
Product 1, Product 2, Product 3
我显然可以用以下方法做到这一点:
str_replace(',',', ',str_replace('[','',str_replace(']','',str_replace('{\"value\":\"','',str_replace('\"}','',$INPUT_FIELD)))));
但这感觉有点笨拙。什么是更好的解决方案?
提前致谢!
编辑
Var dumping $_POST 向我展示了特定输入字段:
["project_products_used"]=> string(135) "[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]"
只是 json_decode it to array and use array_column and implode 有一个你想要的字符串:
<?php
$a = "[{\"value\":\"Product 1\"},{\"value\":\"Product 2\"},{\"value\":\"Product 3\"}]";
var_dump(implode(", ", array_column(json_decode($a), "value")));
输出:
string(31) "Product 1, Product 2, Product 3"