2016-06-05 8 views
0

Ich habe ein PHP-Skript, und ich möchte Befehlszeilenargument in ihm Beispiel: . jetzt möchte ich prüfen, ob beide Argument bereitgestellt wird oder nicht wenn vorausgesetzt dann übergeben "3" (Parameterwert) zu $ ​​n und "etwas" 2. Parameter Wert zu $ ​​other_variable und auch überprüfen, dass mehr als 3 Argument nicht sind vorgesehen 3 Argumente sindPHP Befehlszeilenargument überprüfen, ob es zur Verfügung gestellt oder nicht

+0

Der vorbehalten, globale Variable '$ argv' ist gut dokumentiert: http://php.net/manual/en/reserved.variables.argv.php – arkascha

Antwort

0

Wenn Sie Ihr Skript in der Befehlszeile ausführen können Sie die Variable verwenden, um die Argumente zugreifen:

$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; 
} 
0

cli.php:

#!/usr/bin/php 
<?php 

var_dump($argv); 

Run cli.php:

$ php cli.php 3 something 
array(3) { 
    [0] => 
    string(7) "cli.php" 
    [1] => 
    string(1) "3" 
    [2] => 
    string(9) "something" 
} 

können Sie $argv[1] und $argv[2] verwenden.

Sie können auch benutzerdefinierte Regeln für Argumente schreiben. Verwenden Sie reguläre Ausdrücke oder explode in Ihrem Skript, um Argumente von zu erhalten. Beispielsweise können Sie Argumente wie diese übergeben --. Es kann mehr klar sein:

php cli.php --arg1=value2 --arg2=value2 
Verwandte Themen