📜  php json 字符串到关联数组 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:29.835000             🧑  作者: Mango

PHP json 字符串到关联数组

在PHP中,可以使用json_decode函数将一个JSON格式的字符串解码为一个关联数组。

函数语法
mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
  • $json:需要解码的JSON格式字符串
  • $assoc:当该参数为true时,将返回数组,为false时,将返回对象。
  • $depth:设置递归的深度,超过该深度将抛出异常。默认为512。
  • $options:JSON编码选项。可以使用JSON_BIGINT_AS_STRING将大整数转换为字符串。默认为0。
返回值

返回值为解码后的数组或对象。如果解码失败将返回NULL。

示例
<?php
  $json_str = '{"name":"Tom","age":20,"hobbies":["reading","music","traveling"],"gender":"male"}';
  $obj = json_decode($json_str);
  var_dump($obj);
  /*
    object(stdClass)#1 (4) {
      ["name"]=>
      string(3) "Tom"
      ["age"]=>
      int(20)
      ["hobbies"]=>
      array(3) {
        [0]=>
        string(7) "reading"
        [1]=>
        string(5) "music"
        [2]=>
        string(9) "traveling"
      }
      ["gender"]=>
      string(4) "male"
     }
   */
   
  $arr = json_decode($json_str, true);
  var_dump($arr);
  /*
    array(4) {
      ["name"]=>
      string(3) "Tom"
      ["age"]=>
      int(20)
      ["hobbies"]=>
      array(3) {
        [0]=>
        string(7) "reading"
        [1]=>
        string(5) "music"
        [2]=>
        string(9) "traveling"
      }
      ["gender"]=>
      string(4) "male"
     }
   */
?>

在上面的示例中,将json字符串赋值给$json_str变量。然后使用json_decode函数解码JSON字符串。第一个解码后的结果为对象,第二个解码后的结果为关联数组。最后使用var_dump打印解码后的结果。

通过这个简单的例子,我们可以很容易地了解如何将JSON字符串转换为PHP中的数组或对象。