如何在PHP中解析/提取字符串?特别是引号之间的东西

如何在PHP中解析/提取字符串?特别是引号之间的东西,php,json,string,Php,Json,String,我有一根这样的绳子 {"2":{"name":"Moon Center","value":"moon7","value_raw":"moon7","id":2,"type":"select"},"3":{"name":"Multiple Choice","value":"Second Choice","value_raw":"Second Choice","id":3,"type":"radio"}} 例如,如何获取变量值中的内容?我希望能为每一件有价值的物品都得到它。在一个字符串中,将有多个

我有一根这样的绳子

{"2":{"name":"Moon Center","value":"moon7","value_raw":"moon7","id":2,"type":"select"},"3":{"name":"Multiple Choice","value":"Second Choice","value_raw":"Second Choice","id":3,"type":"radio"}}
例如,如何获取变量值中的内容?我希望能为每一件有价值的物品都得到它。在一个字符串中,将有多个来自表单


这是来自将整个字符串存储在字符串中的表单的响应。有点希望它是一个数组,但这是我正在使用的。

您的字符串实际上是一个JSON值。要从中获取数据,必须首先将其发送到数组(或对象)。如果选择一个数组,则可以使用获取所有
'value'
值:

$json = '{"2":{"name":"Moon Center","value":"moon7","value_raw":"moon7","id":2,"type":"select"},"3":{"name":"Multiple Choice","value":"Second Choice","value_raw":"Second Choice","id":3,"type":"radio"}}';
$array = json_decode($json, true);
print_r(array_column($array, 'value'));
输出:

Array (
  [0] => moon7
  [1] => Second Choice 
)

您的字符串实际上是一个JSON值。要从中获取数据,必须首先将其发送到数组(或对象)。如果选择一个数组,则可以使用获取所有
'value'
值:

$json = '{"2":{"name":"Moon Center","value":"moon7","value_raw":"moon7","id":2,"type":"select"},"3":{"name":"Multiple Choice","value":"Second Choice","value_raw":"Second Choice","id":3,"type":"radio"}}';
$array = json_decode($json, true);
print_r(array_column($array, 'value'));
输出:

Array (
  [0] => moon7
  [1] => Second Choice 
)

等等什么。我得到的字符串来自SQL查询的单个字段。SQL字段可以包含JSON?,以便澄清。这是一个包含单个项的数组,该数组[0]->字段包含您看到的字符串。你确定我必须像对待JSON一样对待它吗?@Sigma绝对。如今,许多DBMS直接支持JSON字段(例如),但不管怎样,您总是可以将JSON存储到文本列中。@Sigma好吧,它是JSON,所以用这种方式处理它肯定要容易得多。所以我尝试了这个$string=$logResults[0]->fields//$字符串成为您在问题$array=JSON\u decode($string,true)中看到的JSON;echo$array[0]->值;但它没有显示任何东西。您的示例也会崩溃,因为array_列只接受一个参数,或者它是这么说的。等等。我得到的字符串来自SQL查询的单个字段。SQL字段可以包含JSON?,以便澄清。这是一个包含单个项的数组,该数组[0]->字段包含您看到的字符串。你确定我必须像对待JSON一样对待它吗?@Sigma绝对。如今,许多DBMS直接支持JSON字段(例如),但不管怎样,您总是可以将JSON存储到文本列中。@Sigma好吧,它是JSON,所以用这种方式处理它肯定要容易得多。所以我尝试了这个$string=$logResults[0]->fields//$字符串成为您在问题$array=JSON\u decode($string,true)中看到的JSON;echo$array[0]->值;但它没有显示任何东西。您的示例也会崩溃,因为array_列只接受一个参数,或者它所说的那样。