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. Java字符串池

    1. String类的两个构造方法 private final char value[]; private int hash; public String() { this.value = " ...

  2. LCA(最近公共祖先)--tarjan离线算法 hdu 2586

    HDU 2586 How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  3. URAL 1993 This cheeseburger you don't need 模拟题

    This cheeseburger you don't need 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=1993 Descrip ...

  4. linuxmint - setup - 搜狗输入法

    安装好linuxmint18后,官网下载搜狗输入法安装包安装.安装成功后,发现缺失部分界面,包括输入候选框,软件设置,fcitx设置都不太正常. 解决: 安装:fcitx-ui-classic 另: ...

  5. 执行计划解读 简朝阳 (Sky Jian) and 那蓝蓝海

    http://greemranqq.iteye.com/blog/2072878 http://www.mysqlab.net/ http://www.mysqlpub.com/ http://blo ...

  6. maven添加本地非repository中的jar包

    1.今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入.  ...

  7. cocos2d-x:将iOS项目编译成Andriod项目

    来源:http://www.cnblogs.com/angzn/p/3328049.html 一.Android 环境搭建 1.安装Andriod-NDK(Native Development Kit ...

  8. CSS学习要点

    目标 掌握CSS基本语法,了解如何应用CSS到Html元素上并能熟练使用CSS进行元素布局. 要点 CSS基本概念.存在的意义 CSS 指层叠样式表 (Cascading Style Sheets), ...

  9. iOS: 偏好设置的详解和使用

    偏好设置的详解: 用途:主要用来存储用户系统的设备信息,但有的时候也可以在程序的任何地方用来存储数据,作为全局数据来访问,例如视图切换需要进行登录时. 偏好设置的写入: •很多iOS应用都支持偏好设置 ...

  10. Android系统信息获取

    在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传 Build.BOA ...