$argc

(PHP 4, PHP 5, PHP 7, PHP 8)

$argc传递给脚本的参数数量

描述

包含从 命令行 运行时传递给当前脚本的参数数量。

注意: 脚本的文件名始终作为参数传递给脚本,因此 $argc 的最小值为 1

注意: register_argc_argv 被禁用时,此变量不可用。

示例

示例 #1 $argc 示例

<?php
var_dump
($argc);
?>

当使用以下命令执行示例时:php script.php arg1 arg2 arg3

上面的示例将输出类似于以下内容

int(4)

注意

注意:

这也可用作 $_SERVER['argc']

参见

添加备注

用户贡献的备注 4 个备注

Tejesember
13 年前
要确定您是否处于 CLI 中,我认为以下方法更好
<?php
if (PHP_SAPI != "cli") {
exit;
}
?>
karsten at typo3 dot org
15 年前
注意:当使用 CLI 时,$argc(以及 $argv)始终可用,无论 register_argc_argv 如何,如 http://docs.php.net/manual/en/features.commandline.php 中所述。
elm at r3m0ve dot gmx dot ch
10 年前
要确定我的脚本是否从 CLI 运行,我只需创建一个仅处理 CLI 调用的 PHP 脚本。

文件 cron.php
<?php

// 设置您的应用程序依赖的环境变量
$_SERVER[ 'HTTP_HOST' ] = 'domain.tld';
// $_SERVER[ 'REQUEST_URI' ] = '/some/URI/if/needed';

// 使用环境读取所需的值
$task = $_SERVER[ 'argv' ][ 1 ];

// 实例化调度器或您使用的任何内容
$dispatcher = new Dispatcher();
$dispatcher->handle( $task );

?>

这样我的应用程序就不必了解 CLI 了。
匿名
5 年前
int main(int argc, char *argv[])
{
fprintf(stdout,"argumen count : %d\n",argc);
fprintf(stdout,"argumen vector : %s\n",argv);
return 0;
}
To Top