Heim >Backend-Entwicklung >PHP-Tutorial >So veranlassen Sie ein PHP-Skript, die Eingabe von Optionen und Werten zu akzeptieren, wenn es im CLI-Modus ausgeführt wird
Benutzer, die mit Linux-Systemen vertraut sind, sollten wissen, dass viele Befehle in Linux die Eingabe von Optionen und Werten unterstützen, wie z. B. rm -f hello.txt
, ls -al
, netstat -tnl
usw. Wie erstellt man also PHP? Skripte werden im CLI ausgeführt. Unterstützt es auch die Eingabe von Optionen und Werten bei der Ausführung im Modus? Es gibt zwei Methoden:
Angenommen, Sie benötigen jetzt ein PHP-Skript, um die Eingabe von drei Optionen zu unterstützen:
-a: Werteingabe nicht akzeptieren
-b: Werteingabe akzeptieren
-c: Werteingabe akzeptieren, und der Wert ist optional
Gemäß den oben genannten Anforderungen können Sie ein PHP-Skript schreiben:
<code><span><span>function</span><span>main</span><span>(<span>$args</span>)</span> {</span> var_dump(<span>$args</span>); } <span>/* * 选项字符后面不带冒号,表示该选项不支持值输入 * 选项字符后面带一个冒号,表示该选项支持值输入 * 选项字符后面带两个冒号,表示该选项支持值输入,且值可选 */</span><span>$args</span> = getopt(<span>'ab:c::'</span>); main(<span>$args</span>);</code>
Dann verwenden Sie den Befehl, um das Skript hier auszuführen Wir nehmen Linux als Beispiel und nehmen an, dass das Skript test.php heißt. Beachten Sie, dass die Option -f zwischen ./php und test.php nicht erforderlich ist: ./php test.php -a -b=valueOfB -c=valueOfC
Ausgabe:
Da der Wert von Option c optional ist, versuchen wir, was passiert, wenn Option c keinen Wert übergibt:
Wie Sie sehen können, ist der Array-Wert, der der Option ohne Wert entspricht, falsch
Eine Sache, die hier zu beachten ist, ist, dass die Optionen und Werte mit dem Gleichheitszeichen „=" verbunden sind, oder Sie können es tun Lassen Sie das Gleichheitszeichen weg, um Optionen und Werte zu trennen, z. B. -b valueOfB
, da sonst der Wert möglicherweise nicht ermittelt wird.
getopt()
unterstützt auch Optionen, die mit zwei Bindestrichen beginnen, wie z. B. --a
. Detaillierte Informationen finden Sie im zweiten Parameter $longopts von getopt()
Wenn Sie nur einige Werte an das Skript übergeben möchten, können Sie die Variable $argv
verwenden. Weitere Informationen zu dieser Variablen finden Sie unter: http://php.net/manual/. zh/reserved.variables. argv.php
PHP-Skript:
<code>var_dump(<span>$argv</span>);</code>
Befehl ausführen./php test.php valueOfA valueOfB valueOfC
Ausgabe:
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt vor, wie man das PHP-Skript dazu bringt, die Eingabe von Optionen und Werten zu akzeptieren, wenn es im CLI-Modus ausgeführt wird, einschließlich des relevanten Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.