PHP Gestione degli argomenti


Esempio

Gli argomenti vengono passati al programma in un modo simile alla maggior parte dei linguaggi in stile C. $argc è un numero intero che contiene il numero di argomenti incluso il nome del programma e $argv è un array contenente argomenti per il programma. Il primo elemento di $argv è il nome del programma.

#!/usr/bin/php

printf("You called the program %s with %d arguments\n", $argv[0], $argc - 1);
unset($argv[0]);
foreach ($argv as $i => $arg) {
    printf("Argument %d is %s\n", $i, $arg);
}

Chiamando l'applicazione sopra con php example.php foo bar (dove example.php contiene il codice precedente) si otterrà il seguente output:

Hai chiamato il programma example.php con 2 argomenti
L'argomento 1 è foo
L'argomento 2 è bar

Si noti che $argc e $argv sono variabili globali, non variabili superglobali. Devono essere importati nello scope locale usando la parola chiave global se sono necessari in una funzione.

Questo esempio mostra come gli argomenti vengono raggruppati quando vengono utilizzati gli escape come "" o \ .

Script di esempio

var_dump($argc, $argv);

Riga di comando

$ php argc.argv.php --this-is-an-option three\ words\ together or "in one quote"     but\ multiple\ spaces\ counted\ as\ one
int(6)
array(6) {
  [0]=>
  string(13) "argc.argv.php"
  [1]=>
  string(19) "--this-is-an-option"
  [2]=>
  string(20) "three words together"
  [3]=>
  string(2) "or"
  [4]=>
  string(12) "in one quote"
  [5]=>
  string(34) "but multiple spaces counted as one"
}

Se lo script PHP viene eseguito con -r :

$ php -r 'var_dump($argv);'
array(1) {
  [0]=>
  string(1) "-"
}

Oppure il codice è stato convogliato in STDIN di php :

$ echo '<?php var_dump($argv);' | php
array(1) {
  [0]=>
  string(1) "-"
}