$argc 是一个预定义的全局变量,它的名字是 "argument count" 的缩写,意思是参数个数。
它专门用于 PHP 命令行脚本(CLI - Command Line Interface),而不是通过浏览器访问的网页。
具体含义
$argc 是一个整数,它表示运行当前 PHP 脚本时,在命令行中传递的参数的总数量。
这里的关键是:脚本文件名本身被认为是第一个参数。
如何理解?
假设你有一个名为 script.php 的脚本,你这样运行它:
php script.php arg1 arg2 arg3
我们来分解这个命令:
-
php: PHP 解释器 -
script.php: 第 0 个参数(argv[0]) -
arg1: 第一个传递的参数 -
arg2: 第二个传递的参数 -
arg3: 第三个传递的参数
对于这个命令,$argc 的值将是 4 (script.php + arg1 + arg2 + arg3)。
与之配套的变量:$argv
$argc 几乎总是和另一个预定义变量 $argv (argument values)一起使用。
-
$argv是一个数组,包含了所有传递进来的参数。 -
$argv[0]永远是脚本的文件名。 -
$argv[1]是第一个真正的参数,$argv[2]是第二个,以此类推。
举例说明
创建一个文件 test.php,内容如下:
<?php
echo "参数总数 (argc): " . $argc . "\n";
echo "参数列表 (argv):\n";
print_r($argv);
?>
在命令行中执行:
php test.php hello world 123
输出结果将会是:
参数总数 (argc): 4
参数列表 (argv):
Array
(
[0] => test.php
[1] => hello
[2] => world
[3] => 123
)
回到你之前的进程信息
总结
| 变量 | 全称 | 类型 | 含义 |
|---|---|---|---|
$argc |
Argument Count | 整数 | 命令行参数的总个数(包含脚本名本身) |
$argv |
Argument Values | 数组 | 包含所有命令行参数的数组,$argv[0] 是脚本名 |
记住:这两个变量只在命令行模式(CLI)下有效,如果你在浏览器中通过 Web 服务器访问一个使用了 $argc 或 $argv 的脚本,它们将是空值或未定义的。














网友评论