首页 >后端开发 >PHP问题 >如何向php脚本传递参数

如何向php脚本传递参数

(*-*)浩
(*-*)浩原创
2019-09-10 14:52:334889浏览

如何向php脚本传递参数

方法一 使用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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn