Command-Line Scripts
Argument Counts
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
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";
$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)
$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)
$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)