JSON can be formatted for humans while keeping the same data values.

readable output Pretty JSON adds whitespace, so examples can summarize it with line counts.

Pretty JSON

level
pretty_json.php
Replay: real traced execution (multi-file project)
<?php
$level = "debug";
$json = json_encode(["level" => $level, "enabled" => true], JSON_PRETTY_PRINT);
$lines = substr_count($json, "\n") + 1;

echo "level=" . $level . "\n";
echo "lines=" . $lines . "\n";
<?php
$level = "info";
$json = json_encode(["level" => $level, "enabled" => true], JSON_PRETTY_PRINT);
$lines = substr_count($json, "\n") + 1;

echo "level=" . $level . "\n";
echo "lines=" . $lines . "\n";
<?php
$level = "warn";
$json = json_encode(["level" => $level, "enabled" => true], JSON_PRETTY_PRINT);
$lines = substr_count($json, "\n") + 1;

echo "level=" . $level . "\n";
echo "lines=" . $lines . "\n";
  1. $level ← debug, $json ← { "level": "debug", "enabled": true }

    1<?php2$level→ debug = "debug"; //@level="info", "warn"3$json→ {
        "level": "debug",
        "enabled": true
    } = json_encode(["level" => $leveldebug, "enabled" => true], JSON_PRETTY_PRINT);4$lines→ 4 = substr_count($json{
        "level": "debug",
        "enabled": true
    }, "\n") + 1;56echo "level=" . $leveldebug . "\n";7echo "lines=" . $lines4 . "\n";
    outputlevel=debug
    lines=4
  1. $level ← info, $json ← { "level": "info", "enabled": true }

    1<?php2$level→ info = "info";3$json→ {
        "level": "info",
        "enabled": true
    } = json_encode(["level" => $levelinfo, "enabled" => true], JSON_PRETTY_PRINT);4$lines→ 4 = substr_count($json{
        "level": "info",
        "enabled": true
    }, "\n") + 1;56echo "level=" . $levelinfo . "\n";7echo "lines=" . $lines4 . "\n";
    outputlevel=info
    lines=4
  1. $level ← warn, $json ← { "level": "warn", "enabled": true }

    1<?php2$level→ warn = "warn";3$json→ {
        "level": "warn",
        "enabled": true
    } = json_encode(["level" => $levelwarn, "enabled" => true], JSON_PRETTY_PRINT);4$lines→ 4 = substr_count($json{
        "level": "warn",
        "enabled": true
    }, "\n") + 1;56echo "level=" . $levelwarn . "\n";7echo "lines=" . $lines4 . "\n";
    outputlevel=warn
    lines=4