登录  /  注册
php 命令行方式运行时 几种传入参数的方式
高洛峰
发布:2016-10-14 10:20:35
原创
772人浏览过
  1.  url方式

$param = array();
 
if ($argc > 1) {
    parse_str ( $argv [1], $param );
    foreach ( $param as $k => $v ) {
        echo "define $k=$v\n";
        $param[$k] = $v;
    }
}
 
print_r($param);
 
//运行示例
php sync_t_search.php "name=sjk&city=bj"
登录后复制

2、系统内置变量

//当传入多个或多个参数可选时有很大的局限性
$argv #0为当前执行的文件名
$argc #参数个数
登录后复制

3、系统函数 getopt

//1、个人总结:如果只传一个参数,:(必选)/::(可选)都可
//2、如果传多个参数则要区分可选必选,建议尽量用可选参数并且后面的值不要传入空格
//3、可选参数:标识符存在且有值时,下标才会存在
//4、必选参数:只要标识符存在,下标就会存在(如果取不到值为false)
/**
 * 
php song.php -h"a b" || php song.php -h"a b" 不受空格影响(建议保持一致都不加空格)
array(1) {
  ["h"]=>
  string(3) "a b"
}
 
php song.php -h -a
array(1) {
  ["h"]=>
  string(2) "-a"
}
 
 */
var_dump(getopt('h:a::')); //必选参数,如果参加之间有空格要加引号, 选项后面有空格也不会影响取值,会把他后面的值都当做参数的值
 
/**
php song.php -asong
array(1) {
  ["a"]=>
  string(4) "song"
}
 */
var_dump(getopt('a::h:')); //可选参数,参数必须紧跟在选项后面,否则获取不到
登录后复制

4、系统函数 getopt

//标准输出
fwrite(STDOUT, "Enter your name: ");
echo "\n";
//标准输入
$name = trim(fgets(STDIN));
fwrite(STDOUT, "Hello, $name!");
登录后复制


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
  • 中小型创业创意公司网站模板
  • 管道维修家政服务登录页模板
  • 儿童公益慈善机构宣传网站模板
网站特效
网站源码
网站素材
前端模板
关于我们免责申明意见反馈讲师合作广告合作技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023//m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学