PHP命令行参数检查是否提供

时间:2016-06-05 09:12:09

标签: php

我有一个PHP脚本,我想在其中提供命令行参数 例如:php index.php 3 something。 现在我想检查是否提供了两个争论 如果提供,则将“3”(参数值)传递给$ n 和“something”第二个参数值为$ other_variable 并检查是否未提供超过3个参数 <3>参数是

2 个答案:

答案 0 :(得分:0)

如果在命令行中运行脚本,可以使用$argv变量来访问参数:

$argc = count($argv);

if($argc !== 3) {
    echo 'Only two parameters are supported' . PHP_EOL;
} else {
    //we have the 2 parameters
    $n = $argv[1];
    $other_variable = $argv[2];

    echo 'n: ' . $n . PHP_EOL;
    echo 'other variable: ' . $other_variable . PHP_EOL;
}

答案 1 :(得分:0)

cli.php:

%rcx

运行cli.php:

#!/usr/bin/php
<?php

var_dump($argv);

您可以使用$ php cli.php 3 something array(3) { [0] => string(7) "cli.php" [1] => string(1) "3" [2] => string(9) "something" } $argv[1]

您也可以为参数编写自定义规则。在脚本中使用正则表达式或$argv[2]来从explode获取参数。例如,您可以传递像$argv这样的参数。它可以更清楚:

--