答案:在PHP命令行模式下,通过$argc和$argv获取参数,$argc为参数个数,$argv为参数数组;可解析键值对实现灵活控制。
在PHP中,当脚本运行在命令行模式下(CLI),可以通过预定义变量 $argv 和 $argc 获取传入的参数。这两个变量用于接收命令行输入,便于实现灵活的脚本控制。
$argc 是一个整数,表示命令行传入参数的个数(包含脚本名本身)。$argv 是一个数组,保存了所有传入的参数,索引从0开始:
例如执行命令:php script.php name=john age=25
则:$argc = 3$argv = ['script.php', 'name=john', 'age=25']
直接使用 $argv 数组只能拿到原始字符串,需要进一步解析才能提取键值对。常见方式是遍历 $argv 并按等号分割:
function parseArgs($argv) {
array_shift($argv); // 移除脚本名
$args = [];
foreach ($argv as $arg) {
if (strpos($arg, '=') !== false) {
list($key, $value) = expl
ode('=', $arg, 2);
$args[$key] = $value;
} else {
// 处理无值参数,如 --debug
$args[$arg] = true;
}
}
return $args;
}
调用示例:
$opts = parseArgs($argv);更完善的处理可以兼容 --verbose、-v 等格式。可通过判断前缀进行映射:
-- 开头视为长选项- 开头且长度为2,视为短选项增强版解析示例:
function parseAdvancedArgs($argv) {脚本 cli.php 内容:
function parseArgs($argv) { / 如上定义 / }
$opts = parseArgs($argv);
echo "姓名:" . ($opts['name'] ?? '未知') . "\n";
echo "年龄:" . ($opts['age'] ?? '未提供') . "\n";
if (!empty($opts['debug'])) {
echo "调试模式已开启\n";
}
运行命令:php cli.php --name=john --age=30 --debug
输出:
姓名:john
年龄:30
调试模式已开启
基本上就这些。合理使用 $argc 和 $argv 可让PHP脚本具备强大命令行交互能力,适合做定时任务、数据导入导出、运维工具等场景。
# php
# 工具
# 键值对
# php脚本
# echo
# NULL
# strpos
# if
# foreach
# die
# 字符串
# 值参数
# 参数数组
# function
# 命令行
# 是一个
# 键值
# 第一个
# 依此类推
# 模式下
# 遍历
# 这两个
# 可以通过
# 布尔
相关文章:
如何快速配置高效服务器建站软件?
临沂网站制作企业,临沂第三中学官方网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何在局域网内绑定自建网站域名?
开源网站制作软件,开源网站什么意思?
建站三合一如何选?哪家性价比更高?
实例解析angularjs的filter过滤器
在线教育网站制作平台,山西立德教育官网?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
如何快速搭建高效WAP手机网站?
音响网站制作视频教程,隆霸音响官方网站?
如何在阿里云ECS服务器部署织梦CMS网站?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
官网建站费用明细查询_企业建站套餐价格及收费标准指南
山东云建站价格为何差异显著?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
太原网站制作公司有哪些,网约车营运证查询官网?
如何在企业微信快速生成手机电脑官网?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何快速搭建虚拟主机网站?新手必看指南
如何在Tomcat中配置并部署网站项目?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
建站之星如何通过成品分离优化网站效率?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
如何将凡科建站内容保存为本地文件?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何通过老薛主机一键快速建站?
如何通过wdcp面板快速创建网站?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
建站之星如何快速生成多端适配网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
c# 在高并发场景下,委托和接口调用的性能对比
如何在阿里云高效完成企业建站全流程?
英语简历制作免费网站推荐,如何将简历翻译成英文?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
建站之星后台管理系统如何操作?
javascript基本数据类型及类型检测常用方法小结
北京网站制作的公司有哪些,北京白云观官方网站?
建站org新手必看:2024最新搭建流程与模板选择技巧
高端建站如何打造兼具美学与转化的品牌官网?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何规划企业建站流程的关键步骤?
教学网站制作软件,学习*后期制作的网站有哪些?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
广平建站公司哪家专业可靠?如何选择?
*请认真填写需求信息,我们会在24小时内与您取得联系。