• 技术文章 >后端开发 >PHP问题

    如何向php脚本传递参数

    (*-*)浩(*-*)浩2019-09-10 14:52:33原创71

    方法一 使用argc、argv

    $argc — 传递给脚本的参数数目

    $argv — 传递给脚本的参数数组

    <?php  
        if ($argc > 1){  
            print_r($argv);  
        }

    在命令行下运行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456(推荐学习:PHP编程从入门到精通

    # /usr/local/php/bin/php ./getopt.php -f 123 -g 456  
    Array  
    (  
        [0] => ./getopt.php  
        [1] => -f  
        [2] => 123  
        [3] => -g  
        [4] => 456  
    )

    方法二 使用getopt函数()

    array getopt ( string options[,arrayoptions[,arraylongopts [, int &$optind ]] )

    参数解析:

    options

    该字符串中的每个字符会被当做选项字符,匹配传入脚本的选项以单个连字符(-)开头。 比如,一个选项字符串 “x” 识别了一个选项 -x。 只允许 a-z、A-Z 和 0-9。

    longopts

    选项数组。此数组中的每个元素会被作为选项字符串,匹配了以两个连字符(–)传入到脚本的选项。 例如,长选项元素 “opt” 识别了一个选项 –opt。

    options 可能包含了以下元素:

    单独的字符(不接受值)
    后面跟随冒号的字符(此选项需要值)
    后面跟随两个冒号的字符(此选项的值可选)
    $options = "f:g:";  
    $opts = getopt( $options );  
    print_r($opts);   
    php ./getopt.php -f 123 -g 456
    运行结果:
    
    Array  
    (  
        [f] => 123  
        [g] => 456  
    )

    方法三 提示用户输入,然后获取输入的参数。有点像C语言

    fwrite(STDOUT, "Enter your name: ");  
    $name = trim(fgets(STDIN));  
    fwrite(STDOUT, "Hello, $name!");

    stdout – 标准输出设备 (printf(“..”)) 同 stdout。

    stderr – 标准错误输出设备

    两者默认向屏幕输出。

    但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。

    在命令行下运行 /usr/local/php/bin/php ./getopt.php

    运行结果

    Enter your name: zhang //(zhang 为用户输入)  
    Hello, zhang!

    以上就是如何向php脚本传递参数的详细内容,更多请关注php中文网其它相关文章!

    phpstudy集成环境下载
    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php
    上一篇:如何写php程序 下一篇:如何下载phpwamp

    相关文章推荐

    • linux下安装php源码详细讲解• php全栈的好处• php中global的用法• php支付宝接口开发步骤

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网