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!");

php 命令行方式运行时 几种传入参数的方式的更多相关文章

  1. 解决python在命令行中运行时导入包失败,出现错误信息 "ModuleNotFoundError: No module named ***"

    转自https://www.cnblogs.com/dreamyu/p/7889959.html https://www.cnblogs.com/lifeofershisui/p/8135702.ht ...

  2. JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)

    在使用JMeter进行性能测试时,以下情况经常出现: 1.测试过程中,指定运行的线程数.指定运行循环次数不断改变: 2.访问的目标地址发生改变,端口发生改变,需要改写脚本. 上面的问题在GUI中,直接 ...

  3. 在命令行中运行eclipse中创建的java项目

    在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...

  4. 命令行模式运行jmeter,主从方式运行jmeter

    jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script.jmx -R 10.6.5.31,10.6.5 ...

  5. JMeter非GUI方式运行时动态设置线程组及传参

    http://blog.csdn.net/selingchen/article/details/48106517 在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定 ...

  6. jmeter命令行模式运行,实时获取压测结果

    jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...

  7. egret命令行编译项目时 版本不对应的问题

    egret 命令行编译项目时 如使用 egret build -e 会出现版本不对应的问题 分析原因 A,B项目 A项目使用1.8的egret引擎, B项目使用2.5引擎 但本地引擎升级至2.5.5, ...

  8. 在命令行终端运行 Elisp 脚本

    通常,我们在 Emacs 中运行 Elisp 代码片段,但是也可能需要在命令行终端运行 Elisp 脚本程序.在命令行终端运行 Elisp 脚本需要使用 --script 选项,例如: emacs - ...

  9. 从命令行模式运行Windows管理工具。

    从命令行模式运行Windows管理工具. 分类: Play Windows 2004-08-06 16:39 6076人阅读 评论(3) 收藏 举报 1.可以直接在开始-〉运行里面输入的管理工具: 文 ...

随机推荐

  1. bzoj 1014 LCP 二分 Hash 匹配

    求同一字符串的两个后缀的最长公共前缀. 将字符串按位置放到Splay中维护(每个节点还维护一下该子树的hash),然后二分前缀的长度,用splay计算出指定范围的hash,按hash是否相等来判断是否 ...

  2. Educational Codeforces Round 12 D. Simple Subset 最大团

    D. Simple Subset 题目连接: http://www.codeforces.com/contest/665/problem/D Description A tuple of positi ...

  3. codevs 1060 搞笑运动会 dp

    1060 搞笑世界杯 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codevs.cn/problem/1060/ Description ...

  4. textbox约束输入值问题解答

    网上很多关于文本框只能输入数字的,今天又找了一遍,发现以前的写法居然有点问题! onkeypress="if (event.keyCode<48 || event.keyCode> ...

  5. 【MongoDB】windows下搭建Mongo主(Master)/从(slave)数据库同步

    在前面一系列的文章中.我们讲述了mongodb的基本操作,高级查询以及索引的使用. 该篇博客主要说明在windows系统怎样创建主从数据库同步: 须要启动两个mongoDb文档数据库,一个是主模式启动 ...

  6. AC/DC 反激 (Flyback) 控制器

    AC/DC 反激控制器 (Flyback Controller) 用于将交流电转换为稳定.隔离的直流电以供给应用系统.交流电首先需整流为高压的直流电.返驰控制器的工作原理类似一个升-降压控制器 (Bu ...

  7. IDA Pro plug-in defines

    /* This file contains definitions used by the Hex-Rays decompiler output. It has type definitions an ...

  8. asp动态数组

    本文所说的 ASP 数组是指在 ASP 中以默认语言 VBScript 为语言的数组. 样例: Dim   MyArray()        for   i   =   0   to   10    ...

  9. [Xarmrin.IOS]使用Build Host 在Windows上建置IOS程式及DeBug

    使用Xamarin開發IOS程式時, 必須要在Mac上才可以編譯程式,若想在windows系統上編譯,則可透過Build host的方式, 但還是要有一台Mac的電腦就是了XD 首先你的Mac必須要已 ...

  10. Ant构建文件解析

    <?xml version="1.0" encoding="UTF-8"?> <!-- 在Ant脚本中,project是这个XML文档的根结点 ...