$argc/$argl

$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 的脚本,它们将是空值或未定义的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,779评论 2赞 33
  • 前言 苦逼本科生要考试,考试还奇难内容齐多 这里我整理一下考试提纲 正好这也是对《unix环境高级编程》的前半部分...
    卡德尔先生阅读 2,443评论 9赞 11
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 7,104评论 3赞 64
  • 在做开发的时候,我们不仅仅只是做各种网站或者接口,也经常需要写一些命令行脚本用来处理一些后端的事务。比如对数据进行...
    ZyBlog阅读 473评论 0赞 0
  • 之前一直在写关于python的项目,大部分工具都想运行在命令行下面怎么办呢?自行谷歌了一下,看到有一个getopt...
    吃鸡蛋的肉阅读 41,844评论 7赞 46

友情链接更多精彩内容