Maison > développement back-end > tutoriel php > php 命令行方式运行时 几种传入参数的方式

php 命令行方式运行时 几种传入参数的方式

高洛峰
Libérer: 2016-11-28 16:32:47
original
1131 Les gens l'ont consulté

 url方式

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<strong>$param = array();

  

if ($argc > 1) {

    parse_str ( $argv [1], $param );

    foreach ( $param as $k => $v ) {

        echo "define $k=$v\n";

        $param[$k] = $v;

    }

}

  

print_r($param);

  

//运行示例

php sync_t_search.php "name=sjk&city=bj"</strong>

Copier après la connexion

系统内置变量

1

2

3

<strong>//当传入多个或多个参数可选时有很大的局限性

$argv #0为当前执行的文件名

$argc #参数个数</strong>

Copier après la connexion

系统函数 getopt

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<strong>//1、个人总结:如果只传一个参数,:(必选)/::(可选)都可

//2、如果传多个参数则要区分可选必选,建议尽量用可选参数并且后面的值不要传入空格

//3、可选参数:标识符存在且有值时,下标才会存在

//4、必选参数:只要标识符存在,下标就会存在(如果取不到值为false)

/**

 *

php song.php -h"a b" || php song.php -h"a b" 不受空格影响(建议保持一致都不加空格)

array(1) {

  ["h"]=>

  string(3) "a b"

}

  

php song.php -h -a

array(1) {

  ["h"]=>

  string(2) "-a"

}

  

 */

var_dump(getopt(&#39;h:a::&#39;)); //必选参数,如果参加之间有空格要加引号, 选项后面有空格也不会影响取值,会把他后面的值都当做参数的值

  

/**

php song.php -asong

array(1) {

  ["a"]=>

  string(4) "song"

}

 */

var_dump(getopt(&#39;a::h:&#39;)); //可选参数,参数必须紧跟在选项后面,否则获取不到</strong>

Copier après la connexion

4、系统函数 getopt

1

2

3

4

5

6

<strong>//标准输出

fwrite(STDOUT, "Enter your name: ");

echo "\n";

//标准输入

$name = trim(fgets(STDIN));

fwrite(STDOUT, "Hello, $name!");</strong>

Copier après la connexion


Étiquettes associées:
php
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
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal