使用PHP PDO进行JSON解码

I have a JSON string, and I want to decode this string to get php array and to add it to database, but when I try to call some part of array I dont get anything:

<?php
$json = '{"zoom":13,"tilt":0,"mapTypeId":"hybrid","center":{"lat":45.38591280296377,"lng":19.936323169799834},"overlays":[{"type":"polygon","title":"Polje 1","content":"Vojvodina","fillColor":"#ffbf1a","fillOpacity":0.3,"strokeColor":"#000","strokeOpacity":0.8,"strokeWeight":3,"paths":[[{"lat":"45.37867863632308","lng":"19.948768615722656"},{"lat":"45.370719925928746","lng":"19.941558837890625"},{"lat":"45.36227764550136","lng":"19.92816925048828"},{"lat":"45.359262240003495","lng":"19.942245483398438"},{"lat":"45.35588479505299","lng":"19.955806732177734"},{"lat":"45.35974471568275","lng":"19.958553314208984"},{"lat":"45.36312193024184","lng":"19.959583282470703"},{"lat":"45.365534102931655","lng":"19.960613250732422"},{"lat":"45.36529289029106","lng":"19.96490478515625"},{"lat":"45.37084052080666","lng":"19.970226287841797"}]]}]}';
$arr = (json_decode($json, true));
echo $arr['paths'];
?>

So why I cant print $arr['paths'] ???

Because that is an array and you can't echo it right way.. You should make use of print_r

print_r($arr['overlays'][0]['paths']);

OUTPUT :

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [lat] => 45.37867863632308
                    [lng] => 19.948768615722656
                )

            [1] => Array
                (
                    [lat] => 45.370719925928746
                    [lng] => 19.941558837890625
                )

            [2] => Array
                (
                    [lat] => 45.36227764550136
                    [lng] => 19.92816925048828
                )

            [3] => Array
                (
                    [lat] => 45.359262240003495
                    [lng] => 19.942245483398438
                )

            [4] => Array
                (
                    [lat] => 45.35588479505299
                    [lng] => 19.955806732177734
                )

            [5] => Array
                (
                    [lat] => 45.35974471568275
                    [lng] => 19.958553314208984
                )

            [6] => Array
                (
                    [lat] => 45.36312193024184
                    [lng] => 19.959583282470703
                )

            [7] => Array
                (
                    [lat] => 45.365534102931655
                    [lng] => 19.960613250732422
                )

            [8] => Array
                (
                    [lat] => 45.36529289029106
                    [lng] => 19.96490478515625
                )

            [9] => Array
                (
                    [lat] => 45.37084052080666
                    [lng] => 19.970226287841797
                )

        )

)

You array structure is this:

array (size=5)
  'zoom' => int 13
  'tilt' => int 0
  'mapTypeId' => string 'hybrid' (length=6)
  'center' => 
    array (size=2)
      'lat' => float 45.385912802964
      'lng' => float 19.9363231698
  'overlays' => 
    array (size=1)
      0 => 
        array (size=9)
          'type' => string 'polygon' (length=7)
          'title' => string 'Polje 1' (length=7)
          'content' => string 'Vojvodina' (length=9)
          'fillColor' => string '#ffbf1a' (length=7)
          'fillOpacity' => float 0.3
          'strokeColor' => string '#000' (length=4)
          'strokeOpacity' => float 0.8
          'strokeWeight' => int 3
          'paths' => 
            array (size=1)
              ...

To dump an array, use var_dump( $arr ). paths is located at $arr['overlays'][0]['paths'].

paths is an array after decode,

print_r($arr['overlays'][0]['paths']);