php7中国家/地区名称的输入验证

问题描述 投票:-1回答:1

我正在研究一个PHP脚本,该脚本从命令行获取输入。它需要两个字符串作为两个国家名称,例如

- php myphp.php japan china (command line) 

php代码:

if(PHP_SAPI == 'cli') {
    $first = $argv[1];
    $second = $argv[2];
    print_r($argv);
}

这里$ first和$ second被传递给其他函数以进一步处理数据。在传递这些参数之前,我需要检查它们是否为有效的国家/地区名称。

但是当国家名称由两个字符串组成,例如韩国时,它不会将整个国家名称作为一个输入。

- php myphp.php japan south korea (command line)

Array
(
    [0] => myphp.php
    [1] => china
    [2] => south
    [3] => korea
)

我如何输入名称包含两个或三个字符串的国家?例如在上面的数组中,$ argv [1]应该是“ china”,$ argv [2]应该是“ south korea”。

非常感谢!

php php-7
1个回答
0
投票

您可以简单地用引号将两个国家名称括起来

- php myphp.php 'japan' 'south korea' (command line)
Array
(
    [0] => cli.php
    [1] => japan
    [2] => south korea
)

或者如果您想使用逗号,则需要在myphp.php中进行一些数据操作>

// concatenate the relevant arguments into one string
$arguments = '';
for ($i = 1; $i < count($argv); $i++) {
  $arguments .= $argv[$i] . ' ';
}
// explode on comma
$arguments = explode(', ', $arguments);

print_r($arguments);

然后:

- php myphp.php japan, south korea (command line)
Array
(
    [0] => japan
    [1] => south korea
)
© www.soinside.com 2019 - 2024. All rights reserved.