A JSON list can be decoded and counted without printing the whole list.

list summary Summarize decoded lists with scalar counts or selected fields.

JSON List Count

extra
json_list_count.php
Replay: real traced execution (multi-file project)
<?php
$extra = "pear";
$json = '["apple","banana","' . $extra . '"]';
$count = count(json_decode($json, true));
$last = json_decode($json, true)[2];

echo "extra=" . $extra . "\n";
echo "count=" . $count . "\n";
echo "last=" . $last . "\n";
<?php
$extra = "plum";
$json = '["apple","banana","' . $extra . '"]';
$count = count(json_decode($json, true));
$last = json_decode($json, true)[2];

echo "extra=" . $extra . "\n";
echo "count=" . $count . "\n";
echo "last=" . $last . "\n";
<?php
$extra = "kiwi";
$json = '["apple","banana","' . $extra . '"]';
$count = count(json_decode($json, true));
$last = json_decode($json, true)[2];

echo "extra=" . $extra . "\n";
echo "count=" . $count . "\n";
echo "last=" . $last . "\n";
  1. $extra ← pear, $json ← ["apple","banana","pear"], $count ← 3, $last ← pear

    1<?php2$extra→ pear = "pear"; //@extra="plum", "kiwi"3$json→ ["apple","banana","pear"] = '["apple","banana","' . $extrapear . '"]';4$count→ 3 = count(json_decode($json["apple","banana","pear"], true));5$last→ pear = json_decode($json, true)[2]pear;67echo "extra=" . $extrapear . "\n";8echo "count=" . $count3 . "\n";9echo "last=" . $lastpear . "\n";
    outputextra=pear
    count=3
    last=pear
  1. $extra ← plum, $json ← ["apple","banana","plum"], $count ← 3, $last ← plum

    1<?php2$extra→ plum = "plum";3$json→ ["apple","banana","plum"] = '["apple","banana","' . $extraplum . '"]';4$count→ 3 = count(json_decode($json["apple","banana","plum"], true));5$last→ plum = json_decode($json, true)[2]plum;67echo "extra=" . $extraplum . "\n";8echo "count=" . $count3 . "\n";9echo "last=" . $lastplum . "\n";
    outputextra=plum
    count=3
    last=plum
  1. $extra ← kiwi, $json ← ["apple","banana","kiwi"], $count ← 3, $last ← kiwi

    1<?php2$extra→ kiwi = "kiwi";3$json→ ["apple","banana","kiwi"] = '["apple","banana","' . $extrakiwi . '"]';4$count→ 3 = count(json_decode($json["apple","banana","kiwi"], true));5$last→ kiwi = json_decode($json, true)[2]kiwi;67echo "extra=" . $extrakiwi . "\n";8echo "count=" . $count3 . "\n";9echo "last=" . $lastkiwi . "\n";
    outputextra=kiwi
    count=3
    last=kiwi