PHP命令行脚本接收传入参数

来自维基鲸
Xiaotian留言 | 贡献2024年4月8日 (一) 20:52的版本 (创建页面,内容为“=== 一、使用$argv or $argc参数接收,会把文件本身计算在内 === $argv: 以数组形式接收保存参数 $argc:保存参数个数 <pre> <?php echo "接收到{$argc}个参数"; print_r($argv); 执行 php index.php /api/index/test.php 接收到1个参数Array ( [0] => test.php ) php index.php /api/index/test.php a b c d 接收到5个参数Array ( [0] => test.php [1] => a [2] => b [3] => c…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

一、使用$argv or $argc参数接收,会把文件本身计算在内

$argv: 以数组形式接收保存参数

$argc:保存参数个数

<?php  
echo "接收到{$argc}个参数";  
print_r($argv);
执行
php index.php  /api/index/test.php  
接收到1个参数Array  
(  
    [0] => test.php  
)  
php index.php  /api/index/test.php  a b c d  
接收到5个参数Array

(  
    [0] => test.php  
    [1] => a  
    [2] => b  
    [3] => c  
    [4] => d  
)  

二、使用getopt函数

<?php  
$param_arr = getopt('a:b:');  
print_r($param_arr); 
php index.php  /api/index/test.php  -a 345 -b 12q3  
Array  
(  
    [a] => 345  
    [b] => 12q3  
)    

三、提示用户输入

<?php   
fwrite(STDOUT,'请输入您的姓名:');  
echo '您输入的姓名是:'.fgets(STDIN);
php index.php  /api/index/test.php 

请输入您的姓名:52Hertz  
您输入的信息是:52Hertz