pass002.phpt   [plain text]


--TEST--
JSON (http://www.crockford.com/JSON/JSON_checker/test/pass2.json)
--SKIPIF--
<?php
  if (!extension_loaded('json')) die('skip: json extension not available');
?>
--FILE--
<?php
    
$test = '[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]';
echo 'Testing: ' . $test . "\n";
echo "DECODE: AS OBJECT\n";
$obj = json_decode($test);
var_dump($obj);
echo "DECODE: AS ARRAY\n";
$arr = json_decode($test, true);
var_dump($arr);

echo "ENCODE: FROM OBJECT\n";
$obj_enc = json_encode($obj);
echo $obj_enc . "\n";
echo "ENCODE: FROM ARRAY\n";
$arr_enc = json_encode($arr);
echo $arr_enc . "\n";

echo "DECODE AGAIN: AS OBJECT\n";
$obj = json_decode($obj_enc);
var_dump($obj);
echo "DECODE AGAIN: AS ARRAY\n";
$arr = json_decode($arr_enc, true);
var_dump($arr);

?>
--EXPECT--
Testing: [[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
DECODE: AS OBJECT
array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      array(1) {
        [0]=>
        array(1) {
          [0]=>
          array(1) {
            [0]=>
            array(1) {
              [0]=>
              array(1) {
                [0]=>
                array(1) {
                  [0]=>
                  array(1) {
                    [0]=>
                    array(1) {
                      [0]=>
                      array(1) {
                        [0]=>
                        array(1) {
                          [0]=>
                          array(1) {
                            [0]=>
                            array(1) {
                              [0]=>
                              array(1) {
                                [0]=>
                                array(1) {
                                  [0]=>
                                  array(1) {
                                    [0]=>
                                    array(1) {
                                      [0]=>
                                      string(12) "Not too deep"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
DECODE: AS ARRAY
array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      array(1) {
        [0]=>
        array(1) {
          [0]=>
          array(1) {
            [0]=>
            array(1) {
              [0]=>
              array(1) {
                [0]=>
                array(1) {
                  [0]=>
                  array(1) {
                    [0]=>
                    array(1) {
                      [0]=>
                      array(1) {
                        [0]=>
                        array(1) {
                          [0]=>
                          array(1) {
                            [0]=>
                            array(1) {
                              [0]=>
                              array(1) {
                                [0]=>
                                array(1) {
                                  [0]=>
                                  array(1) {
                                    [0]=>
                                    array(1) {
                                      [0]=>
                                      string(12) "Not too deep"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
ENCODE: FROM OBJECT
[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
ENCODE: FROM ARRAY
[[[[[[[[[[[[[[[[[[["Not too deep"]]]]]]]]]]]]]]]]]]]
DECODE AGAIN: AS OBJECT
array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      array(1) {
        [0]=>
        array(1) {
          [0]=>
          array(1) {
            [0]=>
            array(1) {
              [0]=>
              array(1) {
                [0]=>
                array(1) {
                  [0]=>
                  array(1) {
                    [0]=>
                    array(1) {
                      [0]=>
                      array(1) {
                        [0]=>
                        array(1) {
                          [0]=>
                          array(1) {
                            [0]=>
                            array(1) {
                              [0]=>
                              array(1) {
                                [0]=>
                                array(1) {
                                  [0]=>
                                  array(1) {
                                    [0]=>
                                    array(1) {
                                      [0]=>
                                      string(12) "Not too deep"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
DECODE AGAIN: AS ARRAY
array(1) {
  [0]=>
  array(1) {
    [0]=>
    array(1) {
      [0]=>
      array(1) {
        [0]=>
        array(1) {
          [0]=>
          array(1) {
            [0]=>
            array(1) {
              [0]=>
              array(1) {
                [0]=>
                array(1) {
                  [0]=>
                  array(1) {
                    [0]=>
                    array(1) {
                      [0]=>
                      array(1) {
                        [0]=>
                        array(1) {
                          [0]=>
                          array(1) {
                            [0]=>
                            array(1) {
                              [0]=>
                              array(1) {
                                [0]=>
                                array(1) {
                                  [0]=>
                                  array(1) {
                                    [0]=>
                                    array(1) {
                                      [0]=>
                                      string(12) "Not too deep"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}