Model how a command-line script checks its argument count.

argument-count Command-line scripts often check how many arguments were supplied before they try to interpret them.

Argument Counts

count
argument_count.php
Replay: real traced execution (multi-file project)
<?php
$count = 2;
$status = $count > 0 ? "has-args" : "empty";
$message = $count . " argument(s)";

echo "count=" . $count . "\n";
echo "status=" . $status . "\n";
echo "message=" . $message . "\n";
<?php
$count = 0;
$status = $count > 0 ? "has-args" : "empty";
$message = $count . " argument(s)";

echo "count=" . $count . "\n";
echo "status=" . $status . "\n";
echo "message=" . $message . "\n";
<?php
$count = 3;
$status = $count > 0 ? "has-args" : "empty";
$message = $count . " argument(s)";

echo "count=" . $count . "\n";
echo "status=" . $status . "\n";
echo "message=" . $message . "\n";
  1. $count ← 2, $status ← has-args, $message ← 2 argument(s)

    1<?php2$count→ 2 = 2; //@count=0, 33$status→ has-args = $count2 > 0 ? "has-args" : "empty";4$message→ 2 argument(s) = $count2 . " argument(s)";56echo "count=" . $count2 . "\n";7echo "status=" . $statushas-args . "\n";8echo "message=" . $message2 argument(s) . "\n";
    outputcount=2
    status=has-args
    message=2 argument(s)
  1. $count ← 0, $status ← empty, $message ← 0 argument(s)

    1<?php2$count→ 0 = 0;3$status→ empty = $count0 > 0 ? "has-args" : "empty";4$message→ 0 argument(s) = $count0 . " argument(s)";56echo "count=" . $count0 . "\n";7echo "status=" . $statusempty . "\n";8echo "message=" . $message0 argument(s) . "\n";
    outputcount=0
    status=empty
    message=0 argument(s)
  1. $count ← 3, $status ← has-args, $message ← 3 argument(s)

    1<?php2$count→ 3 = 3;3$status→ has-args = $count3 > 0 ? "has-args" : "empty";4$message→ 3 argument(s) = $count3 . " argument(s)";56echo "count=" . $count3 . "\n";7echo "status=" . $statushas-args . "\n";8echo "message=" . $message3 argument(s) . "\n";
    outputcount=3
    status=has-args
    message=3 argument(s)