Table des matières
Recommandations associées :
Maison développement back-end tutoriel php Comment obtenir des paramètres en php en mode cli

Comment obtenir des paramètres en php en mode cli

May 23, 2018 am 09:32 AM
php 参数 方法

Cet article présente principalement la méthode d'obtention des paramètres en mode php cli, qui a une bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous

Il existe deux façons pour PHP de recevoir des paramètres en mode cli

1 Utilisez le tableau argv.

2. Utilisez la méthode getopt

1. 🎜 >Par exemple : vous devez exécuter un php et passer trois paramètres (type=news, is_hot=1, limit=5)

Créer test.php

<?php
print_r($argv);
?>
Copier après la connexion

Exécuter

php test.php news 1 5 depuis la ligne de commande :

Array
(
  [0] => test.php
  [1] => news
  [2] => 1
  [3] => 5
)
Copier après la connexion

Vous pouvez voir que argv[0] est le nom du fichier php actuellement exécuté, et argv[1]~argv[3] sont les valeurs des paramètres passés

argv[1] est égal au type La valeur

argv[2] est égale à la valeur de is_hot

argv[3] est égale à la valeur de limit

De cette façon, les paramètres transmis peuvent être obtenus selon le tableau argv pour les opérations de traitement ultérieures.

Inconvénients : En utilisant le tableau argv, les paramètres passés peuvent être obtenus dans l'ordre. Mais après l'avoir obtenu, un traitement correspondant doit être effectué. Dans l'exemple ci-dessus, argv[1] doit correspondre au paramètre type, argv[2] correspond au paramètre is_hot et argv[3] correspond au paramètre limit. . Et si les paramètres sont écrits dans le mauvais ordre pendant le processus de transfert, cela entraînera une erreur de programme.

Par exemple :

<?php
$param = array();
$param[&#39;type&#39;] = $argv[1];
$param[&#39;is_hot&#39;] = $argv[2];
$param[&#39;limit&#39;] = $argv[3];
print_r($param);
?>
Copier après la connexion

Exécuter

php test.php news 1 5Sortie :

Array
(
  [type] => news
  [is_hot] => 1
  [limit] => 5
)
Copier après la connexion

Si l'ordre de transmission est différent, les valeurs des paramètres obtenues seront différentes, entraînant des erreurs de programme ultérieures

Exécution

php test.php 1 5 newsSortie :

Array
(
  [type] => 1
  [is_hot] => 5
  [limit] => news
)
Copier après la connexion

Donc, lors de l'utilisation de argv tableau pour transmettre les paramètres, vous devez faire attention à l'ordre dans lequel les paramètres sont transmis.

2. Utilisez la méthode getopt getopt pour obtenir les options de la liste d'arguments de la ligne de commande

array getopt ( string $options [, array $longopts ] )

Paramètres :

options dans cette chaîne Chaque caractère est traité comme un caractère d'option et les options correspondant au script entrant commencent par un seul trait d'union (-). Par exemple, une chaîne d'option « x » identifie une option -x. Seuls a-z, A-Z et 0-9 sont autorisés.

longopts gamme d'options. Chaque élément de ce tableau sera traité comme une chaîne d'options, correspondant aux options transmises au script avec deux tirets (–). Par exemple, l'élément d'options long "opt" identifie une option -opt.

les options peuvent contenir les éléments suivants : Un seul caractère (aucune valeur acceptée)

Caractère suivi de deux points (Cette option nécessite une valeur)

Caractères suivis de deux deux-points (La valeur de cette option est facultative) La valeur de l'option

est le premier argument après la chaîne. Cela ne me dérange pas s'il y a des espaces avant la valeur.

Les formats d'options et de longopts sont presque les mêmes, la seule différence est que longopts doit être un tableau d'options (chaque élément est une option), tandis que les options ont besoin d'une chaîne (chaque caractère est une option) .

Le séparateur de valeurs peut être un espace ou =.

Les valeurs facultatives n'acceptent pas les espaces comme séparateurs, seul = peut être utilisé comme séparateurs.

Valeur de retour

Cette fonction renvoie une paire option/paramètre, ou FALSE en cas d'échec.

L'analyse des options se terminera à la première non-option trouvée, tout ce qui suit sera rejeté.

1. Utiliser l'instance d'options a, b, c sont des valeurs obligatoires

d est une valeur facultative

e n'accepte pas la valeur

<?php
$param = getopt(&#39;a:b:c:d::e&#39;);
print_r($param);
?>
Copier après la connexion

Exécution

php test.php -a 1 -b 2 -c 3 -d=4 -e 5Sortie :

Array
(
  [a] => 1
  [b] => 2
  [c] => 3
  [d] => 4
  [e] => 
)
Copier après la connexion

2. Utilisez l'instance longoptstype, is_hot est le type requis. value

limit est une valeur facultative

expire est une valeur inacceptable

<?php
$longopt = array(
  &#39;type:&#39;,
  &#39;is_hot:&#39;,
  &#39;limit::&#39;,
  &#39;expire&#39;
);
$param = getopt(&#39;&#39;, $longopt);
print_r($param);
?>
Copier après la connexion
Copier après la connexion

Exécuter

php test.php --type news --is_hot 1 --limit=10 --expire=100Sortie :

Array
(
  [type] => news
  [is_hot] => 1
  [limit] => 10
  [expire] => 
)
Copier après la connexion

3. instances

<?php
$longopt = array(
  &#39;type:&#39;,
  &#39;is_hot:&#39;,
  &#39;limit::&#39;,
  &#39;expire&#39;
);
$param = getopt(&#39;&#39;, $longopt);
print_r($param);
?>
Copier après la connexion
Copier après la connexion

Exécuter

php test.php --type news --is_hots 1 --limit=10 --expire=100Sortie :

Array
(
  [type] => news
)
Copier après la connexion

Parce que is_hots n'est pas une valeur d'option (is_hot est défini), tous les paramètres à partir de maintenant sont ignorés.

Résumé :

Utilisez le tableau argv pour passer des paramètres, la méthode est simple et facile à mettre en œuvre. L'ordre des paramètres ne peut pas être erroné et le traitement correspondant doit être effectué une fois les paramètres obtenus.

En utilisant la méthode getopt, vous pouvez utiliser des noms de paramètres, et l'ordre des paramètres peut être arbitraire, ce qui est relativement standardisé. (Recommandé)

Recommandations associées :

Solution pour la comparaison et l'arrondi inexacts des calculs en virgule flottante en PHPBases de _php

PHPExplication du code principal des bases du fichier upload_php

php statistiques simples en ligne Nombre de personnes method_php compétences

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Journalisation CakePHP Journalisation CakePHP Sep 10, 2024 pm 05:26 PM

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

See all articles